页面是先加载js还是先加载dom元素 为什么有的js写在上面就行 有的必须写在下面?

## # 不是说要等body里面的元素加载完了再进行操作吗?可是有的jquery代码 就是写在之间的 有的为什么写在body下面?

顺序是从上往下逐行读取的,如下代码:

$("#myButton").click(function(){
                //...
                alert("点击了!");
})
  • *如果放在body前onload事件外,由于dom未加载,是找不到“myButton”id的,因此无效
  • 如果放在body前onload事件内,在dom加载后才执行这段代码,可行
  • 如果放在

放在body后面是可以读取到id的

先渲染dom节点,js一般是放在

若 js 脚本放在 head 里,因其具有阻塞特性先加载 js,此时 dom 未加载,如果在 js 中获取 dom 节点是获取不到的
若放在 body 后就先渲染 dom,这时就能获取到 dom 节点