当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    jquery中的$(document).ready()使用小结

    栏目:win服务器问题汇总 时间:2019-11-23 18:50

    window.onload = function(){ alert("welcome"); }
    这样的写法作用是希望在页面加载完,自动执行定义js代码(function)。

    $(document).ready(function(){.... })这个函数是用来取代页面中的window.onload;

    document.ready()和传统的方法<body onload=”load()”> 相似,不同的是onload()的方法是在页面加载完成后才发生,这包括DOM元素和其他页面元素(例如图片)的加载,因此,使用document.ready()方法的执行速度比onload()的方法要快。

    Javascript 只有在DOM元素已经定义以后才可以对其执行某种操作,jQuery使用document.ready来保证所要执行的代码是在DOM元素被加载完成的情况下执行。

    比如:
    复制代码 代码如下:
    <script type="text/javascript">
    $(document).ready(function () {
    alert("我的第一个jQuery代码!");
    });
    </script>

    这段代码的意思是:当Dom Tree加载完成后,显示警告信息。document.ready()和传统的方法<body onload=”load()”> 相似,不同的是onload()的方法是在页面加载完成后才发生,这包括DOM元素和其他页面元素(例如图片)的加载,因此,使用document.ready()方法的执行速度比onload()的方法要快。

    最后要注意两点:

    确保在 <body> 元素的onload事件中没有注册函数,否则可能不会触发$(document).ready()事件。(
    我尝试用下面的例子来演示这个情况,但是没有成功,所以我想这种情况只是可能发生。)
    复制代码 代码如下:
    <html>
    <head>
    <title>My second jQuery</title>
    <script type="text/javascript" src="/js/jquery.js"></script>
    <script type="text/javascript">
    //下面是load的函数含有jquery注册函数$
    function load(){
       $("p").append("<b>Hello</b>");
    }
    //下面是jQuery的代码
    $(document).ready(function () {
    $("p").append("我的第一个jQuery代码!");
    $("p").append("<b>Hello</b>");
    });
    </script>
    </head>
    <body onload="load()">
    <h2>jQuery 简单例子2</h2>
    <p>I would like to say: </p>
    </body>
    </html>

    可以在同一个页面中无限次地使用$(document).ready()事件。其中注册的函数会按照(代码中的)先后顺序依次执行。