当特定类不存在(消失)时,我需要刷新(重新加载)页面。此类已更改,因为另一个以前的jQuery事件(removeClass)。
HTML初始(示例):
<div class="class1 class2">
</div>
事件之后:
<div class="class1">
</div>
当&#34; class2&#34;不存在我需要启动脚本来刷新页面。
谢谢(抱歉我的英语不好)。
答案 0 :(得分:2)
您可以使用MutationObserver
。我在这里写了一个例子:
http://jsbin.com/vahixehema/edit?html,js,output
var target = document.getElementById('foo');
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.attributeName === "class") {
// the class of the target node changed
if(!target.className.match(/\bbar\b/)){
// bar is now not present
alert("class 'bar' was removed");
observer.disconnect();
// reload the page here.
}
}
});
});
observer.observe(target, { attributes: true });
// remove class after 3 seconds
window.setInterval(function(){
target.classList.remove("bar");
}, 3000);
基本思路是在目标节点的class
属性发生变化时进行监听,然后在目标节点发生变化时,检查您关心的课程是否已被删除。
如果您仍在使用jQuery
,则可以使用!$.hasClass('bar')
或类似内容来检查该类是否已被删除。