jQuery的domReady
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>jQuery的DOMready</title> <script> var domReady = function(fn){ var completed = function() { document.removeEventListener( "DOMContentLoaded", completed, false ); window.removeEventListener( "load", completed, false ); fn(); }; // 如果dom已经准备好了,那就开始咯。setTimeout第三个参数是为了传入同样的参数。为什么要setTimeout,是为了触发事件。 if ( document.readyState === "complete" ) { setTimeout( domReady,0,fn ); } else { document.addEventListener( "DOMContentLoaded", completed, false ); // 保险起见加个load事件咯。有时候因为浏览器缓存的原因导致,load比DOMContentLoaded执行还早。 window.addEventListener( "load", completed, false ); } } domReady(function(){ alert(document.querySelectorAll(".test")[0].innerHTML); }); </script> </head> <body> jQuery的DOMready <div class="test">dom ready?</div> </body> <script> </script> </html>
合乎自然而生生不息。。。