[英]jQuery: get inline style not CSS of body
我試圖獲得內聯元素的真實風格,但它始終將css應用於它。 我不想修改我的CSS,太多的頁面依賴它。
<body class="processed" style="padding-top: 157px ;margin-top: 0px;">
我的CSS
.processed{padding-top: 56px !important;}
JS:
$(function(){
var pad = $('body').css('padding-top');
$('body').attr('style','padding-top:'+ pad +' !important; margin-top: 0px;');
console.log('pad' + pad);
});
其結果是: body
與內嵌樣式56px
,而不是157px
...
您可以在CSS文件中創建第二個“重要”類,因此它不會影響其他頁面,但它會覆蓋第一個“重要”類。
你只需要在第一個之后編寫新類。
例如:
HTML:
<body class="processed processed-large-top">
CSS:
.processed{padding-top: 56px !important;}
.processed-large-top{padding-top: 157px !important; margin-top: 0px;}
解決了,問題是在DOM准備好后腳本覆蓋樣式......重要的是扮演了一個好角色..
帶有!important的 CSS規則比內聯樣式具有更高的優先級。 要覆蓋它,你必須在內聯樣式CSS上使用!important 。
因此,您的HTML標記最終必須如下:
<body class="processed" style="padding-top: 157px !important;margin-top: 0px;">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.