脚本标签的位置有奇怪的结果?

问题描述 投票:0回答:1

脚本只有在 "hamburger "div内才有效,我不知道为什么?为什么我把它放在正文或头部就不行了?此外,我不能为我的生活有它的工作,如果我导出它到一个.js文件和Src它到HTML。请帮助我?这是我的第一个网站,我已经完全被这样一个简单的问题吓坏了......

<!DOCTYPE html>
<html lang="it" dir="ltr">
  <head>
    <meta charset="utf-8">
    <link href="styles.css" rel="stylesheet"/>
    <title>My Azienda Agricola</title>
  </head>

  <body>
    <header>
      <nav>
        <div class="hamburger">
          <script>
              let test=document.getElementsByClassName("hamburger");
              test[0].style.backgroundColor="blue";
          </script>
          <div class="bar1"></div>
          <div class="bar2"></div>
          <div class="bar3"></div>
        </div>
      </nav>
    </header>

  </body>
</html>
html dom tags
1个回答
0
投票

试着把脚本标签放在body标签的末尾,因为它在body或head标签之外不会生效。请看 此处 以获取更多信息。


0
投票

我会这样做。

<!DOCTYPE html>
<html lang="it" dir="ltr">
  <head>
    <meta charset="utf-8">
    <link href="styles.css" rel="stylesheet"/>
    <title>My Azienda Agricola</title>
  </head>

  <body>
    <header>
      <nav>
        <div class="hamburger">
          <div class="bar1"></div>
          <div class="bar2"></div>
          <div class="bar3"></div>
        </div>
      </nav>
    </header>

  <script src="javascript.js"></script>

  </body>
</html>

然后创建你的javascript.js文件 并在里面添加你的脚本。确保它和你的.html文件在同一个根目录下。如果你把它放在一个文件夹里,确保你调整src(例如jsjavascript.js)。


0
投票

使用 document.querySelector() 而不是 document.getElementsByClassName()这是一种比较先进的做选择器的方式。见此.除此之外,你的 .hamburger 如你所见,我添加了一个50px的宽度和高度,蓝色的方块就出现了。

这是一个你想做的工作例子。

<!DOCTYPE html>
<html lang="it" dir="ltr">
  <head>
    <meta charset="utf-8" />
    <title>My Azienda Agricola</title>
    <style>
      .hamburger {
        width: 50px;
        height: 50px;
      }
    </style>
  </head>

  <body>
    <header>
      <nav>
        <div class="hamburger">
          <div class="bar1"></div>
          <div class="bar2"></div>
          <div class="bar3"></div>
        </div>
      </nav>
    </header>
    <script>
      let test = document.querySelector(".hamburger");
      test.style.backgroundColor = "blue";
    </script>
  </body>
</html>

你也可以用这个例子在这里。https:/codesandbox.iosvigilant-resonance-yxpp9?file=index.html。

© www.soinside.com 2019 - 2024. All rights reserved.