我正在尝试使用此脚本设置div的属性。我在第三行有问题,我试图从父div获取div-s,id为“loading”。但在这里的问题,似乎在变量divs中没有什么。为什么?
脚本:
function blink() {
document.getElementById("loading").setAttribute("class","loader");
var divs = document.getElementById("loading").getElementsByTagName("div");
alert(divs[0].class);
for(var i=0;i<divs.length;i++) {
var _id = divs[i].id;
document.getElementById(divs[i].id).setAttribute("class", "bar");
}
}
HTML:
<div id="loading" class="loader2">
<a href="#" onClick="blink()">
<div class="bar_"></div>
<div class="bar_"></div>
<div class="bar_"></div></a>
</div>
我想替换divs类:“bar_”替换为“bar”。这就是我想要做的。
答案 0 :(得分:26)
class
is a future reserved word。使用className
,而不是class
。setAttribute
<div>
中拥有divs
时,无需按ID重新获取function blink() {
var loader = document.getElementById("loading");
loader.className = "loader";
var divs = loader.getElementsByTagName("div");
for(var i=0; i<divs.length; i++) {
divs[i].className = "bar";
}
}
!所以:
{{1}}
答案 1 :(得分:0)
将div
放在a
标记内是无效的html,这没有帮助。但主要问题是要读取类属性需要使用el.className
。此外,当您未在html中定义内部div时,您正尝试读取内部div的id属性。