I have a div
that has additional classes added to it programmatically. How can I detect the class name change without using this setInterval
implementation?
setInterval(function() { var elem = document.getElementsByClassName('original')[0]; if (elem.classList.contains("added")) { detected(); } }, 5500);
MutationObserver?
You can use a mutation observer. It's quite widely supported nowadays.
var e = document.getElementById('test') var observer = new MutationObserver(function (event) { console.log(event) }) observer.observe(e, { attributes: true, attributeFilter: ['class'], childList: false, characterData: false }) setTimeout(function () { e.className = 'hello' }, 1000)
<div id="test"> </div>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With