script脚本中写不写$(document).ready(function() {});的区别

$(document).ready() 里的代码是在页面内容都加载完才执行的,如果把代码直接写到script标签里,当页面加载完这个script标签就会执行里边的代码了,此时如果你标签里执行的代码调用了当前还没加载过来的代码或者dom,那么就会报错,当然如果你把script标签放到页面最后面那么就没问题了,此时和ready效果一样。

$(document).ready(function(){})可以简写成$(function(){});

点击段落后,此段落隐藏:

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("p").click(function(){
    $(this).hide();
  });
});
</script>
</head>

<body>
  <p>If you click on me, I will disappear.</p>
</body>

</html> 

如果把$(document).ready(function() {});去掉后,无法隐藏段落:

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $("p").click(function(){
    $(this).hide();
  });
</script>
</head>

<body>
  <p>If you click on me, I will disappear.</p>
</body>

</html> 

但是把script放到页面最后的话,就可恢复隐藏效果:

<html>
<head>
</head>

<body>
  <p>If you click on me, I will disappear.</p>
</body>

<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
  $("p").click(function(){
      $(this).hide();
  });
</script>

</html> 

script脚本中写不写$(document).ready(function() {});的区别,布布扣,bubuko.com

时间: 2024-10-14 16:11:10

script脚本中写不写$(document).ready(function() {});的区别的相关文章

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

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

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

document.ready和onload的区别——JavaScript文档加载完成事件 页面加载完成有两种事件 一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件) 二是onload,指示页面包含图片等文件在内的所有元素都加载完成. 用jQ的人很多人都是这么开始写脚本的: $(function(){ // do something }); 其实这个就是jq ready()的简写,他等价于: $(document).ready(function(){ //do somethin

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

原文出自:http://www.php100.com/html/program/jquery/2013/0905/5954.html 1.执行时间上的区别:window.onload必须等到页面内(包括图片的)所有元素加载到浏览器中后才能执行.而$(document).ready(function(){})是DOM结构加载完毕后就会执行. 2.编写个数不同:window.onload不能同时写多个,如果有多个window.onload,则只有最后一个会执行,它会把前面的都覆盖掉.$(docume

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

这篇作为我的新的起点开始吧,发现年纪大了,记性就不好了,有些东西老是记了忘,忘了百度.在学一些新知识的时候也是这样的毛病,总是重复学习,这样效率真心差!所以决定开始认真写博客! 本来想封装一个预加载的插件的,在开始写时,才发现自己很多不足.百度上看见这个题目,发现自己不会,所以记下! window.onload    与     jq的 $(document).ready() window.onload 是当页面所有资源全部加载完成后(包括DOM文档树,css文件,js文件,图片资源),执行一个

比较body.onload(function())、$(document).ready(function())与$(windows).load(function)

原理对比: body.onload(function())是优先将document的DOM渲染,即将页面所有的元素(包括html标签以及所引用到的图片,flash媒体等媒体文件)加载完成,然后再执行页面的脚本: $(windows).load(function())的加载效果与body.onload(function())是一样的效果: $(document).ready(function())是优先对文档结构进行加载(不包括图片等非文字媒体文件),即优先加载HTML DOM,然后执行脚本. ★

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

Jquery是优秀的Javascrīpt框架,$是jquery库的申明,它很不稳定(我就常遇上),换一种稳定的写法jQuery.noConflict(); jQuery(document).ready(function(){}); 使用jQuery的好处是它包装了各种浏览器版本对DOM对象(javascript的DOM对象你应该知道吧,就是它了)的操作. 比如jquery写法: 1 $("div p"); // (1) 2 $("div.container"); /

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

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

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(){//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