目录
  1. 1. JavaScript文档的加载
    1. 1.1. 例如会遇见如下情况:
    2. 1.2. 解决方式1:
    3. 1.3. 解决方式1:
JavaScript文档的加载

JavaScript文档的加载

浏览器在加载一个页面时,是按照自上向下的顺序加载的,读取到一行就运行一行,如果将script标签写到页面的上边,在代码执行时,页面还没有加载,页面没有加载DOM对象也没有加载,则会导致无法获取到DOM对象

例如会遇见如下情况:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">

//获取id为btn的按钮
var btn = document.getElementById("btn");
//为按钮绑定一个单击响应函数
btn.onclick = function(){
alert("hello");
};
</script>
</head>
<body>
<button id="btn">点我一下</button>
</body>
</html>

解决方式1:

根据浏览器按照自上向下的顺序加载原则,可以将JS代码写到标签以下

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>

<button id="btn">点我一下</button>
<script type="text/javascript">
/*
* 将js代码编写到页面的下部就是为了,可以在页面加载完毕以后再执行js代码
*/
//获取id为btn的按钮
var btn = document.getElementById("btn");
//为按钮绑定一个单击响应函数
btn.onclick = function(){
alert("hello");
};
</script>
</body>
</html>

解决方式1:

采用onload事件会在整个页面加载完成之后才触发,为window绑定一个onload事件。该事件对应的响应函数将会在页面加载完成之后执行,这样可以确保我们的代码执行时所有的DOM对象已经加载完毕了。这样也可将JS代码写在标签之前

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
window.onload = function(){
// 获取id为btn的按钮
var btn = document.getElementById("btn");
//为按钮绑定一个单击响应函数
btn.onclick = function(){
alert("onload hello");
};
};
</script>
</head>
<body>
<button id="btn">点我一下</button>
</body>
</html>

文章作者: Jachie Xie
文章链接: https://xjc5772.github.io/2020-02/19/%E5%AD%A6%E4%B9%A0/%E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0/JS/JavaScript%E6%96%87%E6%A1%A3%E7%9A%84%E5%8A%A0%E8%BD%BD/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XJC&Blog
打赏
  • 微信
  • 支付宝

评论