2013-05-10 21 views
0

我在我的网页中有多个style标签,并且我想操作其中的cssRules。我如何从样式元素获取document.styleSheets对象中的styleSheet。一种方法可能是扫描document.styleSheets中的所有styleSheets,并将其ownerNode与我的style元素对象匹配。有没有更好的方法呢?从ownerNode获取样式表对象(样式标签)

回答

1

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这表明有可以访问的每个样式元素(如<link rel="stylesheet">)一sheet属性 - 只要他们默认为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> 
+0

谢谢,它解决了我的问题。 – 2013-05-10 13:58:33