从ownerNode获取样式表对象(样式标记)

时间:2013-05-10 12:43:08

标签: javascript cssom

我的网页中有多个style标记,我想操纵其中的cssRules。如何从样式元素中获取styleSheet对象中的document.styleSheets。一种方法是扫描styleSheets中的所有document.styleSheets,并将其ownerNode与我的style元素对象进行匹配。有没有更好的方法呢?

1 个答案:

答案 0 :(得分:2)

每个http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-style-element,样式元素实现LinkStyle接口,通过跟踪引用可以引导一个到http://dev.w3.org/csswg/cssom/#the-linkstyle-interface,这表示您可以访问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>