window.getMatchedCSSRules для всех правил, включая его псевдоэлементы и правила псевдоклассов

Я пытаюсь получить соответствующие правила CSS элемента, используя метод window.getMatchedCSSRules chrome. Но этот метод не дает мне правил своих псевдоэлементов и псевдоклассов. Но, передавая имя псевдокласса/элемента в качестве второго аргумента метода, он по отдельности возвращает правила.

window.getMatchedCSSRules(btn, "before")
window.getMatchedCSSRules(btn, "after")
window.getMatchedCSSRules( progressEle, "-webkit-progress-value")

Но есть ли способ получить все правила css, включая все его правила псевдокласса/элемента, без передачи имени конкретного псевдоэлемента/класса в качестве аргумента?


person Darshan    schedule 16.05.2014    source источник
comment
Я не видел этого раньше. Похоже, что этот метод никогда не предназначался для использования на веб-сайтах; это был внутренний метод, предназначенный для использования только инструментами разработки, и даже там он устарел. Объясняет, почему я нигде не могу найти документацию для него.   -  person BoltClock    schedule 16.05.2014
comment
Да, @BoltClock не предназначен для веб-сайтов. Я использую это для своего настольного приложения, основанного на CEF, в котором есть все API-интерфейсы Chrome.   -  person Darshan    schedule 16.05.2014
comment
IIRC, этот метод был первоначально реализован в WebKit специально для целей Web Inspector (из которого впоследствии вырос Chrome DevTools), поскольку изначально он использовал API-интерфейсы JavaScript для доступа к информации о странице (включая CSS). В системе отслеживания ошибок WebKit есть проблема Удалить getMatchedCSSRules.   -  person Alexander Pavlov    schedule 18.05.2014


Ответы (1)


Вы не можете ориентироваться на псевдоэлементы с помощью javascript или jquery, поскольку они (пока) не являются элементами dom.

Однако, если вы хотите манипулировать элементами css через js, вы можете добиться аналогичного эффекта с помощью https://github.com/Box9/jss

надеюсь, это поможет

person Grant Briston    schedule 16.05.2014