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