document.ready使用方法介绍

图标

豆瓜

豆瓜网

豆瓜官网专栏

豆瓜 图标 2021-07-23 01:52:44

1.Jquery是优秀的Javascrīpt框架,$是jquery库的申明,它很不稳定(我就常遇上),换一种稳定的写法jQuery.noConflict(); jQuery(document).ready(function(){});

使用jQuery的好处是它包装了各种浏览器版本对DOM对象(javascript的DOM对象你应该知道吧,就是它了)的操作.

比如jquery写法:

$("div p"); // (1)$("div.container"); // (2)$("div #msg"); // (3)$("table a",context); // (4)$("#myId"); //(5)

第一行代码得到所有<div>标签下的<p>元素。第二行代码得到class 为container的<div>元素,第三行代码得到<div>标签下面id为msg的元素。第四行代码得到context为 上下文的table里面所有的连接元素。第五行代码得到id为myid的所有元素

如果你熟悉CSS,你会觉得这些写法很眼熟!对了。正是。看出奥妙了吧。jquery就是通过这样的方式来找到Dom对象里面的元素。跟CSS的选择器相类似。

现在回答你的具体问题吧

$(document).ready(function(){
alert("hello");
});(1)
<body onload="alert('hello');">(2)

上面两段代码是等价的。但代码1的好处是做到表现和逻辑分离。并且可以在不同的js文件中做相同的操作,即$(document).ready (fn)可以在一个页面中重复出现,而不会冲突。基本上Jquery的很多plugin都是利用这个特性,正因为这个特性,多个plugin共同使用起 来,在初始化时不会发生冲突。

如果我们在

$(document).ready(function(){
加入的内容
});

加入内容

$(".btn-slide").click(function(){
          alert("你单击了a标签中class等于btn-slide的连接");
});

则表示当我们单击class=btn-slide的超级连接时弹出“你单击了a标签中class等于btn-slide的连接”对话框.

如此方便易用,因此使用jquery是一个不错的选择。




2.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()的方法要快。





3.注意:
最后要注意两点:

确保在 <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
图标 图标

豆瓜

豆瓜网

豆瓜官网专栏

  • js跳转代码分享

    js跳转代码分享

    图标
    豆瓜 图标 · 2021-07-23 · 25浏览
  • 数据库设计规范原则是什么

    图标
    豆瓜 图标 · 2021-07-23 · 180浏览
  • 常用的架构模式有哪些

    图标
    豆瓜 图标 · 2021-07-23 · 185浏览
  • 全部评论

    豆瓜

    豆瓜网

    豆瓜官网专栏

  • js跳转代码分享
  • 数据库设计规范原则是什么
  • 常用的架构模式有哪些
  • css垂直居中代码分享
  • c#.net入门级别教程分享
  • 我来说两句