2016-11-10 90 views
0

如何總是刪除特定元素的內聯樣式?如何總是刪除特定元素的內聯樣式?

我使用此代碼刪除我的風格:

jQuery('.myelement').removeAttr('style'); 

但因爲另一個的js代碼代碼後,加入內嵌樣式刪除它可能不工作。我的文件被調用後沒有.js文件。

我知道我可以從照片插件編輯.js文件,但如果我更新插件,我會放棄我的更改。

如何在jQuery中寫點東西來告訴這個元素會有從來沒有有內聯樣式?

回答

0

爲了確保項目的風格總是空的,即使一些其他的代碼後,你運行你可以使用一個突變觀察者重置風格每當節點改變樣式屬性,這樣

let element = document.querySelector(".myelement"); 
 

 
let observer = new MutationObserver((m) => { 
 
    if (element.style.length > 0) { 
 
    element.style = {}; 
 
    } 
 
}); 
 

 
observer.observe(element, { 
 
    attributes: true, 
 
    attributeFilter: ["style"] 
 
}); 
 

 

 
// now this wont do anything 
 
element.style.backgroundColor = "red";
<div class="myelement"> 
 
    unicorn 
 
</div>