我有三个div
具有相同的类名,我想改变使用JavaScript的高度和颜色。我的代码坏了,不知道为什么。我在这里查看了类似问题的答案,我的代码似乎与解决方案相同。
有关我的代码在哪里破解以及如何修复它的想法吗?
<HTML>
<head></head>
<body>
<div class="bar"></div>
<div class="bar"></div>
<div class="bar"></div>
<script>
function altSize() {
var bar = document.getElementsByClassName("bar");
bar.style.height = 200px;
bar.style.background = 'red';
}
altSize();
</script>
</body>
</HTML>
答案 0 :(得分:5)
它在这里打破:
bar.style.height=200px;
原因是200px
不是你可以在JS中分配的东西,它读取200并且不知道如何处理px,它不是有效数字。
此外,getElementsByClassName
会返回NodeList
而不是单个元素。
用
修复它 for(var i=0;i<bar.length;i++){
bar[i].style.height="200px";
}