如何在jQuery中覆盖一个重要的CSS属性

时间:2011-06-28 12:33:24

标签: jquery css

我的网页body上有css,我想覆盖overflow: visible !important;。我已经尝试过下面的jQuery脚本,但是没有这样做“

 jQuery("body, #s4-workspace").css("overflow", "hidden !important");

CSS:

body, #s4-workspace {
    overflow: visible !important;
}

body {
    height: 100%;
    overflow: hidden; //overriden
    width: 100%;
}

我知道已经有两个溢出,但遗憾的是我没有手,否则它会太容易了,不是吗?

3 个答案:

答案 0 :(得分:1)

AFAIK jQuery不理解!important部分。

尝试创建一个类,如下所示:

.newClass {
   overflow: hidden !important;
}

然后像这样设置类:

jQuery("body, #s4-workspace").addClass('newClass');

答案 1 :(得分:1)

如前所述,jQuery ! important无法很好地处理css()

如果您不介意覆盖内联style属性值(如果存在),这是一个可行的黑客攻击:

 jQuery("body, #s4-workspace")
     .attr("style", "overflow:hidden !important");

就像我说的,这是一个黑客 - 但试一试。

演示:http://jsfiddle.net/dGbaD/

答案 2 :(得分:0)