首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Uncaught :无法在prac.js:3处读取属性“样式”为null

Uncaught :无法在prac.js:3处读取属性“样式”为null
EN

Stack Overflow用户
提问于 2020-04-07 10:47:01
回答 2查看 58关注 0票数 0
代码语言:javascript
复制
var hi = document.querySelector("h1");
hi.style.color = "red";

使用DOM给h1颜色的这2行代码是错误的

Uncaught :无法在prac.js:3处读取null的属性“样式”

当在单独的javascript文件中写入时,相同的2行在控制台中工作正常,并产生所需的效果。

HTML:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
<title>Experiments</title>
<script src = "prac.js"></script>
</head>
<body>
<h1>Hey there!</h1>
</body>
</html>

下面是这个问题的演示:

代码语言:javascript
复制
var hi = document.querySelector("h1");
hi.style.color = "red";

EN

回答 2

Stack Overflow用户

发布于 2020-04-07 11:30:09

由于不清楚您是如何使用JavaScript的,因此很难确定实际问题。

但是,假设您只在同一个文件中使用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代码

代码语言:javascript
复制
<!DOCTYPE html>
<html>
   <head>
      <title>Experiments</title>
   </head>
   <body>
      <h1>Hey there!</h1>
      <script src = "prac.js"></script>
   </body>
</html>

您的JavaScript代码

代码语言:javascript
复制
 var hi = document.querySelector("h1");
 hi.style.color = "red";
票数 1
EN

Stack Overflow用户

发布于 2020-04-07 11:08:39

可能您的脚本在DOM呈现之前运行。正如Palash所建议的,将脚本标记放在body标记的末尾。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61078269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档