JSFiddle - React, Tailwind, and code Playground

HTML

<div>1</div>

<button>inc++</button>

JavaScript

var onContentChange = function(htmlEl, fn) {
    var content = htmlEl.innerHTML;
    (function callee(){
        if (htmlEl.innerHTML !== content) {
            fn(htmlEl.innerHTML, content);
            return;
        }
        setTimeout(callee, 50);
    })();
};

(function loop(){   
    onContentChange(document.querySelector('div'), function(n, o){
        alert(
            'changed'+"\n"+
            'old value: '+o+"\n"+
            'new value: '+n
        );
        loop();
    });
})();

document.querySelector('button').addEventListener('click', function(){
    var d = document.querySelector('div');
    d.innerHTML = parseInt(d.innerHTML, 10) + 1;
});