0

我正在使用以下代码更改样式表中的类定义:

/*
 * At this point it is: 
 * "position: absolute; height: 20px; background-image: none; background-position: initial initial; background-repeat: initial initial;"
 * But I actually set "background: none;" in my css file
 */
var cssText = document.styleSheets[ 0 ][ "cssRules" ][ 3 ].style.cssText;

//Just replace the height
document.styleSheets[ 0 ][ "cssRules" ][ 3 ].style.cssText = cssText.replace( "height: 20px", "height: 14px" );

/*
 * Now when I print it out, it's:
 * "position: absolute; height: 20px;"
 */
console.log( document.styleSheets[ 0 ][ "cssRules" ][ 3 ].style.cssText );

如果我重新附加“背景:无;” 然后它放回“背景图像:无;背景位置:初始初始;背景重复:初始初始;” 东西。(奇怪的是,如果我附加“背景图像:无;背景位置:初始初始;背景重复:初始初始;”,那么它只会出现没有任何背景信息!)

知道为什么会这样吗?

编辑:我使用 cssText 而不是直接访问样式的原因是我需要设置其中的一些样式,"!important"并且除了 cssText 之外别无他法。

4

0 回答 0