<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
<script type="text/javascript">
$(function(){ //$(function(){})表示整个页面的dom对象都加载成功了
$("#btn1").click(function(){
······
})
})
</script>
</head>
HTML文档的解析顺序是从上到下。
如果去掉$(function(){})这一层,直接绑定事件,会绑定失败——在解析到绑定事件的代码时,下面的dom对象还不存在。也就是说,人都没找到,怎么给人家发号码牌呢?
在我的理解里,$(function(){})就是页面中所有dom对象都加载完毕才执行的标识。只有等所有dom对象加载完毕,才能绑定成功。
当然,如果你的<script>标签写在<body>里,加不加都一样了,执行到底部时自然是所有dom对象都加载好了。
不知道我叙述清楚没有~欢迎指正