2011-07-14 37 views
1

我是Jquery的新手。在http://w3schools.com/jquery/tryit.asp?filename=tryjquery_hide_p处查看示例。在这里,点击“点击我”按钮即可更改文字。我的问题是为什么下面的代码需要包装在$(document).ready(function(){)}之下。否则,它不起作用。为什么将代码打包成'文档准备好'

非常感谢您的帮助,真的很感谢。

$("button").click(function(){ 
    $("p").hide(); 
    }); 
+1

因为DOM必须先完全加载,然后才能“绑定()”到事件。我建议你阅读jQuery的[自己的文档](http://api.jquery.com/)('ready()'方法描述[here](http://api.jquery.com/ready/)) w3schools,如果你认真学习它的话。 –

回答

2

是的,如果您没有在$(document).ready()处理程序中包装此代码,则对象将不存在,因为DOM未加载。

这是一个简单的测试,在调用其元素上的方法之前,确保DOM已准备就绪。

4

它确保所有的DOM元素试图访问这些

0

如果你不把它包起来,它可能无法找到你的元素之前被加载。该页面需要先构建,然后您可以查找某些元素来添加一些功能。

所以你说“等待页面完成加载,所以我想改变的所有元素都在那里”,然后再开始向他们添加东西。