如何总是删除特定元素的内联样式?
问题描述:
如何总是删除特定元素的内联样式?如何总是删除特定元素的内联样式?
我使用此代码删除我的风格:
jQuery('.myelement').removeAttr('style');
但因为另一个的js代码代码后,加入内嵌样式删除它可能不工作。我的文件被调用后没有.js文件。
我知道我可以从照片插件编辑.js文件,但如果我更新插件,我会放弃我的更改。
如何在jQuery中写点东西来告诉这个元素会有从来没有有内联样式?
答
为了确保项目的风格总是空的,即使一些其他的代码后,你运行你可以使用一个突变观察者重置风格每当节点改变样式属性,这样
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>