jquery问题$(document).ready(function()

这两种写法有什么区别 我点按钮都是同样的效果
第一种写法
$(document).ready(function(){
$('#submit').click(function(){
alert('报名成功');
});
});

第二种写法
$('#submit').click(function(){
alert('报名成功');
});

第一种写法是保证在页面dom元素全部加载完毕后才给$('#submit')元素绑定click事件,而第二种则是直接绑定,这样的话当绑定语句运行时,$('#submit')元素有可能尚未加载到内存(这要看jq语句与html语句哪个在前哪个在后),造成绑定失败。
所以,凡是涉及页面dom元素操作且必须在页面打开后就运行的语句,都应该放到ready事件中执行。当然,并不是说放到外面就一定会出错,但程序这种东西是严谨的,从代码健壮性考虑,按照标准方式去做,可以避免以后的很多麻烦。
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-09-26
$(document).ready 里的代码是在页面内容都加载完才执行的,第二种是直接执行的,如果这个代码写在dom之后,两种方法效果是一样的,如果是写在dom之前,那么第二种方法就会获取不到dom,因为此时dom还未加载
相似回答