//
$(function(){alert("jQ_1");});
//
$(document).ready(function(){alert("jQ_2");});这两种方法页面载入后都能执行,请问在深层次有什么区别?
刚开始使用jQ,请大虾解答,多谢~~~
解决方案 »
- 链接时如何传递参数?
- Jquery 操作 checkbox ,都来吧!!!!!!!!
- |zyciis| panIFrame21_IFrame 我要用正则取出21,现在我写出了正则表达式,但JS语法要怎么写,panIFrame([\d]+)_I谢谢
- 大家介绍个 弹出层 的javascript类库
- 调用多个function应该怎么写。
- Js小菜鸟,怎么能让修改,取消,保存多次应用,怎么修改,不会啊
- 如何根据值来选中dropdownlist的某项???
- javascript里有没有办法按比特截取字符串的方法?
- 怎样访问子窗口中的内容
- 一个订单叶面,有很多内容要填,要选择。然后把填好内容的叶面通过电子邮件提交,请问最简单的方法是什么?不要让我重新读整个叶面,然后生成一个字符串再通过mail发送啊,好痛苦的!
- Ext饼图显示数值问题?
- 怎么样判断页面是由history.back返回的?随便来点人接分吧。。
更多Jquery问题和解答
$(function(){alert("jQ_1");}); 这句是浏览器读到以后立即执行,
$(document).ready(function(){alert("jQ_2");}); 这句是注册了一个回调函数,DOM树载入完成以后去执行回调。
如果把这两种调用里面的alert()换成取DOM节点,就看出不同了,
前者,如果放在<head>标签以前的话,根本取不到DOM节点,因为浏览器读到那一句的时候<body>还没建立呢。
但是后者,不论放在哪,应该都能取到DOM节点,因为是注册了回调函数,不是立即执行。
---
昨天看了点书,暂时理解到这程度,还没时间测试呢,欢迎讨论~
$(function)当document加载完成执行
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" charset="UTF-8" src="system/js/jquery.js"></script>
<title>Untitled Document</title>
<script type="text/javascript">
$(function(){
$("#menu li[class='h1']").css("color","red");
});
</script>
</head><body><ul id="menu">
<li id="img_1" class="h0">1</li>
<li id="img_2" class="h1">2</li>
<li id="img_3" class="h0">3</li>
<li id="img_4" class="h1">4</li>
<li id="img_5" class="h0">5</li>
</ul>
<script type="text/javascript">
$(document).ready(function(){
$("#menu li[class='h0']").css("display","none");
});</script>
</body>
</html>
-
我昨天问的是 $(function(){...});
这个确实是 $(document).ready(function(){...}); 的缩写形式。
但是 $(alert("abc")); 这个是立即执行的,
我没看清楚,搞混了,鄙视我吧~
你可以在两个function 里设定断点,
一运行不就全都知了吗?----问别人有试验的准吗?当然我给个结果,
$(function(){alert("jQ_1");}); //这个是当前页面的html内容被浏览器加载马上执行
$(document).ready(function(){alert("jQ_2");}); //这个是当document被浏览器加载马上执行
dcoument //要慢一点,它是所有文档,Include (image,Js文件,css样式,等等)
建议你用$(function(){alert("jQ_1");}); 用户体验会好点。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" charset="UTF-8" src="system/js/jquery.js"></script>
<title>Untitled Document</title>
<script type="text/javascript">
$(function(){
//$("#menu li[class='h1']").css("color","red");
alert('a');
});</script>
</head><body><ul id="menu">
<li id="img_1" class="h0">1</li>
<li id="img_2" class="h1">2</li>
<li id="img_3" class="h0">3</li>
<li id="img_4" class="h1">4</li>
<li id="img_5" class="h0">5</li>
</ul>
<script type="text/javascript">
$(document).ready(function(){
$("#menu li[class='h0']").css("display","none");
});</script>
</body>
</html>
这样看head中的JS脚本在BODY中的JS脚本先前执行了(FF)
这个虽然知道是立即执行了,但还是不懂为什么,
$(...) 这个函数感觉被赋予太多含义了,
我查手册发现有6种,都是根据参数类型不同区分的,感觉容易混淆
当 DOM(文档对象模型) 已经加载,并且页面(包括图像)已经完全呈现时,会发生 ready 事件。由于该事件在文档就绪后发生,因此把所有其他的 jQuery 事件和函数置于该事件中是非常好的做法。正如上面的例子中那样。ready() 函数规定当 ready 事件发生时执行的代码。ready() 函数仅能用于当前文档,因此无需选择器。允许使用以下三种语法:语法 1
$(document).ready(function)
语法 2
$().ready(function)
语法 3
$(function)参数 描述 function 必需。规定当文档加载后要运行的函数。提示和注释
提示:ready() 函数不应与 <body onload=""> 一起使用。
页面加载完成有两种事件,一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件),二是onload,指示页面包含图片等文件在内的所有元素都加载完成。