Получение объекта таблицы стилей из 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>
Другие вопросы по тегам