我在应用一种风格时遇到了麻烦!important.我试过了:
$("#elem").css("width", "100px !important");
Run Code Online (Sandbox Code Playgroud)
这什么都不做 ; 没有任何宽度样式应用.是否有jQuery-ish方式应用这样的样式而不必覆盖cssText(这意味着我需要先解析它等等)?
编辑:我应该补充一点,我有一个样式表!important,我试图用!important样式内联覆盖一个样式,所以使用等等.width()不起作用,因为它被我的外部!important样式覆盖.
此外,将覆盖以前的值的值进行计算,所以我不能简单地创建另一个外部风格.
假设规则如下:
.largeField {
width: 65%;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法以某种方式获得'65%',而不是像素值?
谢谢.
编辑:不幸的是,在我的情况下使用DOM方法是不可靠的,因为我有一个导入其他样式表的样式表,因此cssRules参数以null或未定义的值结束.
但是,这种方法适用于大多数简单的情况(一个样式表,文档头标记内的多个单独的样式表声明).
如果css样式表中存在@import,我无法查询cssRules.它是否符合网络标准?或者知道Firefox的局限性?
注意:我从同一个域导入css文件.
var style_rules = document.styleSheets[0].cssRules;
console.log(style_rules);
Run Code Online (Sandbox Code Playgroud)
底层对象不支持参数或操作[Break On This Error] var style_rules = document.styleSheets [0] .cssRules;