脚本只有在 "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>
试着把脚本标签放在body标签的末尾,因为它在body或head标签之外不会生效。请看 此处 以获取更多信息。
我会这样做。
<!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)。
使用 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。