JSFiddle - React, Tailwind, and code Playground

HTML

<div id="foo">Click a Button!</div>
<button id="add">Add</button>
<button id="remove">remove</button>

CSS

#foo{ background-color: red; }
#foo.green{ background-color: green; }

JavaScript

function addClassNameListener(elemId, callback) {
    var elem = document.getElementById(elemId);
    var lastClassName = elem.className;
    window.setInterval( function() {   
       var className = elem.className;
        if (className !== lastClassName) {
            callback();   
            lastClassName = className;
        }
    },10);
}
        

document.getElementById("add").onclick = function(){
    document.getElementById("foo").className = "green";    
}

document.getElementById("remove").onclick = function(){
    document.getElementById("foo").className = "";    
}
                        
addClassNameListener("foo", function(){ alert("changed"); });