我正在处理自己的某个项目,我遇到以下问题: - 我想将span的内容字体颜色更改为红色。
这是HTML
<html>
<head>
<title>Testing</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script>
var arr = document.getElementsByClassName("change");
console.log(arr);
console.log(arr.length);
var i;
for (i = 0; i <= arr.length; i++) {
console.log(arr[i]);
arr[i].style.color = red;
}
</script>
</head>
<body>
<div>
<p id="test">Something <span class="change">here</span></p>
<p id="test">Something <span class="change">there</span></p>
<p id="test">Something <span class="change">everywhere</span></p>
</div>
</body>
</html>
根据我的想法,这应该有效。但是,这很奇怪。在console.log(arr)上我在浏览器的控制台中输入了HTML Collection [],这似乎可以很好地保存所有元素。
然而,使用arr.length给我0?我对自己犯错误的地方感到困惑,我确信这是一件简单的事情,我无法指责。
帮助表示赞赏。提前谢谢。
答案 0 :(得分:0)
试试这个
<html>
<head>
<title>Testing</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div>
<p id="test">Something <span class="change">here</span></p>
<p id="test">Something <span class="change">there</span></p>
<p id="test">Something <span class="change">everywhere</span></p>
</div>
<script>
var arr = document.getElementsByClassName("change");
var i;
for (i = 0; i < arr.length; i++) {
arr[i].setAttribute("style", "color: red");
}
</script>
</body>
</html>