代码很简单
scritp部分是这样:
<script>
var a =Math.random()*(4-1)+1;
document.getElementById("number").innerText = Math.floor(a);
</script>
body 部分是这样:
<body>
<div>
<span id="number"></span>
</div>
</body>
可结果老是这样:
我实在理解不了为什么
和代码的加载顺序有关,放在头部获取的值是null,需要将script标签放在body里面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge,chrome=1" />
<meta name="renderer" content="webkit" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<title>Document</title>
</head>
<body>
<div><span id="number">123</span></div>
<script>
document.getElementById('number').innerHTML = '新的内容';
</script>
</body>
</html>
代码加载顺序问题https://blog.csdn.net/qq_42475949/article/details/110672037
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y
代码的运行是从上到下的,你在HTML代码的上面使用script标签写入JS代码他是找不到那个ID number的,这也是script标签如果不存在初始化时基本都是在页面标签body下面导入的原因