var hi = document.querySelector("h1");
hi.style.color = "red";使用DOM给h1颜色的这2行代码是错误的
Uncaught :无法在prac.js:3处读取null的属性“样式”
当在单独的javascript文件中写入时,相同的2行在控制台中工作正常,并产生所需的效果。
HTML:
<!DOCTYPE html>
<html>
<head>
<title>Experiments</title>
<script src = "prac.js"></script>
</head>
<body>
<h1>Hey there!</h1>
</body>
</html>下面是这个问题的演示:
var hi = document.querySelector("h1");
hi.style.color = "red";
发布于 2020-04-07 11:30:09
由于不清楚您是如何使用JavaScript的,因此很难确定实际问题。
但是,假设您只在同一个文件中使用JavaScript,那么您编写的代码运行良好,您可以在下面查看代码片段。
<!DOCTYPE html>
<html>
<head>
<title>Experiments</title>
<script src = "prac.js"></script>
</head>
<body>
<h1>Hey there!</h1>
<script>
var hi = document.querySelector("h1");
hi.style.color = "red";
</script>
</body>
</html>
由于我们主要是使用JavaScript操作JavaScript,所以最好将Javascript从另一个文件(或者如果您在同一页上使用Javascript)加载到 HTML 内容的底部,就在</body>标记之前,直到那时,大多数HTML内容都已经加载供DOM使用。
如果您的JavaScript代码位于parc.js文件中,则需要将该文件添加到</body>标记的正上方,如下面的代码所示。
您的HTML代码
<!DOCTYPE html>
<html>
<head>
<title>Experiments</title>
</head>
<body>
<h1>Hey there!</h1>
<script src = "prac.js"></script>
</body>
</html>您的JavaScript代码
var hi = document.querySelector("h1");
hi.style.color = "red";发布于 2020-04-07 11:08:39
可能您的脚本在DOM呈现之前运行。正如Palash所建议的,将脚本标记放在body标记的末尾。
https://stackoverflow.com/questions/61078269
复制相似问题