Jquery中"$(document).ready(function(){ })"函数的使用详解

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

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

比如jquery写法:

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

第一行代码得到所有<div>标签下的<p>元素。

第二行代码得到class 为container的<div>元素,

第三行代码得到<div>标签下面id为msg的元素。

第四行代码得到context为 上下文的table里面所有的连接元素。

第五行代码得到id为myid的所有元素

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

现在回答你的具体问题吧

$(document).ready(function(){
alert("hello");
});(1)

html

1 <body >(2)

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

如果我们在

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

内容A:

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

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

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

$(document).ready()使用小结

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加载完成后,显示警告信息。

最后要注意两点:

确保在 <body> 元素的onload事件中没有注册函数,否则可能不会触发$(document).ready()事件。(我尝试用下面的例子来演示这个情况,但是没有成功,所以我想这种情况只是可能发生。)

 1 <html>
 2     <head>
 3         <title>
 4             My second jQuery
 5         </title>
 6         <script type="text/javascript" src="/js/jquery.js">
 7         </script>
 8         <script type="text/javascript">
 9             //下面是load的函数含有jquery注册函数$
10             function load() {
11                 $("p").append("<b>Hello</b>");
12             }
13             //下面是jQuery的代码
14             $(document).ready(function() {
15                 $("p").append("我的第一个jQuery代码!");
16                 $("p").append("<b>Hello</b>");
17             });
18         </script>
19     </head>
20     <body onload="load()">
21         <h2>
22             jQuery 简单例子2
23         </h2>
24         <p>
25             I would like to say:
26         </p>
27     </body>
28
29 </html>

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

时间: 2024-09-30 11:03:43

Jquery中"$(document).ready(function(){ })"函数的使用详解的相关文章

jquery中$(document).ready(function(){//todo});window.onload时间线关系

1.基于DOM的解析加载过程,即:document.readystate状态, 其有如下四个状态: a.uninitiated,未初始化状态. b.loading,dom开始解析. c.loaded,dom解析完成.document.ready触发,然后再加载其他东西(图片.延迟加载的js代码等). d.complete,所需要的图片 异步js等也加载完成,整个页面不在请求数据. 2.例子如下: document.onreadystatechange = function(){ if(docum

jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解

1.(function($) {…})(jQuery); 在(function($) {…})(jQuery)在内部定义的函数和变量只能在此范围内有效. 形成是否函数函数.私有变量的概念.比如: var i=3; function init(){ alert("外层init:"+i); } (function($) { var i=2; function init(){ alert("内层init:"+i); } init(); })(jQuery); init()

jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解 ----转载

1.(function($) {-})(jQuery); 1).原理: 这实际上是匿名函数,如下: function(arg){-} 这就定义了一个匿名函数,参数为arg 而调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即: (function(arg){-})(param) 这就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数 而(function($){-})(jquery)则是一样的,之所以只在形参使用$,是为了不与其

【转】jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解

1.(function($) {…})(jQuery); 1).原理: 这实际上是匿名函数,如下: function(arg){…}这就定义了一个匿名函数,参数为arg 而调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即:(function(arg){…})(param)这就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数 而(function($){…})(jQuery)则是一样的,之所以只在形参使用$,是为了不与其他库冲

$(window).load(function(){}) 和 $(document).ready(function(){})的区别

在JavaScript中 window.onload = function(){ alert("text1"); }; 等同于在jQuery中 $(window).load(function(){ alert("text1"); }); 他们都是用于当页面的所有元素,包括外部引用文件,图片等都加载完毕时运行函数内的alert函数.load方法只能执行一次,如果在js文件里写了多个,只能执行最后一个.(初学者常常在页面结构里对元素直接写行为函数,这样是很丑陋的,可以用

【JQuery】jQuery(document).ready(function($) { });的几种表示方法及load和ready的区别

jQuery中处理加载时机的几种方式 第一种: jQuery(document).ready(function() { alert("你好"); }); //或 $(document).ready(function() { alert("你好"); }); 第二种: jQuery(function() { alert("你好"); }); //或 $(function() { alert("你好"); }); 第三种: (fu

jquery中的$(document).ready(function(){})和$(window).load()比较

1.执行时间 window.onload()即jquery写法中的$(window).load(function(){})必须等到页面内包括图片的所有元素加载完毕后才能执行. $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕. 2.编写个数不同 window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个(最后一个)$(document).ready()可以同时编写多个,并且都可以得到执行 3.简化写法 window.on

JQuery排错关于$(document).ready(function(){});

最近写了好多JQuery.也出了很多问题.不知道怎么回事.程序就不往下执行了.很是郁闷. 查了下资料,这里可能会有以下几种原因:1.js文件的引用路径不正确,特别是使用了命名空间,容易造成路径错误,使用绝对路径看是否成功.2.看 $(document).ready(function(){}); 是否会执行.3.$选择器所选的内容是否存在.排查很简单,请使用调试工具,如Firebug,查看console面板,就会把错误信息展现出来的. 这是我遇到的错误: jQuery,js : missing)a

jQuery的document ready与 onload事件——你真的思考过吗?

在进行实验和资料查询时,我遇到了几个关键问题: 1. window.onload到底是什么加载完触发? 2. body为什么会有onload事件? 3. 为什么是window.onload,而不是document.onload? 4. document ready到底是什么ready,DOM渲染完成? 5. jQuery怎么实现$(document).ready? 6. jQuery的ready,还能ready什么? 7. jQuery的document ready就一定比window.onlo