The first solution :
var onReadyDomElement = function(element) { return new Promise(function(callback, reject) { function checkAgain() { setTimeout(function() { if(jQuery(element) !== null ){ callback(jQuery(element)); }else { checkAgain(); } }, 100); } checkAgain(); }); }; // example onReadyDomElement("#header").then(function(e){ e.html('OK'); })
The second solution:
var onReadyDomElement = function(element, callback) { if (jQuery(element).length) { callback(jQuery(element)); } else { setTimeout(function() { onReadyDomElement(element, callback); }, 100); } }; // example onReadyDomElement('#header', function(e) { e.html('OK'); });
Both solutions are equally effective and good, I don’t think there is a noticeable difference between them.
So any of the above javascript functions can be used to check if a given DOM element is ready (loaded/live) or wait for an element to exist on the page and is rendered to the screen.
Be First to Comment