是否可以只刪除空的樣式屬性?刪除空的樣式屬性
例如,如果我添加動態填充到一個元素:
$('div').css('padding', '10px');
<div style="padding:10px"></div>
然後我用jQuery刪除它像
$('div').css('padding', '');
綜觀螢火我最終
<div style=""></div>
我想要做的是僅當不包含任何內聯樣式時才刪除樣式屬性。
是否可以只刪除空的樣式屬性?刪除空的樣式屬性
例如,如果我添加動態填充到一個元素:
$('div').css('padding', '10px');
<div style="padding:10px"></div>
然後我用jQuery刪除它像
$('div').css('padding', '');
綜觀螢火我最終
<div style=""></div>
我想要做的是僅當不包含任何內聯樣式時才刪除樣式屬性。
可以使用removeAttr
方法:
if ($('div').attr('style') === '') {
$('div').removeAttr('style')
}
div:before {
content: '<div> ';
}
div:after {
content: ' </div>';
}
div:before,
div:after {
font-style: Consolas;
font-size: 13px;
color: #7D2727;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="">no style attribute</div>
您可以用支票樣式值試試這個:
if ($("div").attr("style") === "")
$("div").removeAttr("style");
希望這個答案會幫助你。
有兩種情況可以檢查:style屬性爲no時(undefined
)或style
屬性爲空。我注意到jQuery方法removeAttr()
,removeProp()
沒有工作。我用DOM方法removeAttribute
$('p').each(function(i, e){
var styleAttr = $(e).attr('style');
if(!styleAttr || styleAttr == ''){
e.removeAttribute('style'); // use DOM methods
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p style="display:table;color:#ddd;">Test</p>
<p style="">Test</p>
<p>Test</p>
你爲什麼要這麼做? –
你好!請[接受我的回答](http://stackoverflow.com/a/41134930/652669)。 –