2011-06-28 33 views
0

我在我的頁面的body上有css,我想覆蓋overflow: visible !important;。我曾嘗試下面的jQuery腳本,但不這樣做」如何在jQuery中覆蓋!重要的CSS屬性

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

CSS:

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

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

我知道有兩個溢出了,但遺憾的是我沒有在手上即,否則這將是太容易了,不是嗎

+0

或者是有辦法只是刪除溢出:可見重要; – user472285

回答

1

如前所述,! important通過jQuery的css()處理不好。

這裏,如果你不介意覆蓋內嵌style屬性值(如果存在),將工作一個黑客:

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

就像我說的,這是一個黑客 - 但給它一試。

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

+0

或有沒有辦法刪除溢出:visible!important; – user472285

+0

我不認爲你可以「刪除」它,它必須設置爲另一個值。檢查演示,看看是否有幫助,我修改了我以前答案中的錯誤。 –

1

AFAIK jQuery的不理解!important部分。

嘗試創建一個類,像這樣:

.newClass { 
    overflow: hidden !important; 
} 

,然後設置類是這樣的:

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

還是有辦法刪除溢出:可見!重要; – user472285

+0

你可以刪除它,如果它被設置在 –

+0

類也可以工作 – user472285