Получение объекта таблицы стилей из ownerNode(тег style)
У меня есть несколько style
теги на моей веб-странице, и я хочу манипулировать cssRules
в них. Как я могу получить styleSheet
как в document.styleSheets
объект из элемента стиля. Можно было бы сканировать все styleSheets
в document.styleSheets
и соответствовать его ownerNode
со мной style
элемент объекта. Есть ли лучший способ, чтобы это?
1 ответ
Согласно http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html, элемент style реализует LinkStyle
интерфейс, который, следуя ссылкам, может привести к http://dev.w3.org/csswg/cssom/, который указывает, что есть sheet
свойство, к которому вы можете получить доступ для каждого элемента стиля (как с <link rel="stylesheet">
) - пока они есть text/css
, по умолчанию. Оттуда вы можете получить более специализированный интерфейс CSSStyleSheet, который вы ищете (т.е. cssRules
).
<style>
p {color:blue;}
</style>
<script>
var h = document.getElementsByTagName('style')[0];
alert(h.sheet.cssRules[0].cssText); // "p { color: blue; }"
</script>