在div中设置新课程
可能重复:
使用JavaScript更改元素的CSS类
我试图用这个脚本来设置div的属性。 我有问题在第三行,我想从父div的哪个id是“加载”的div-s。 但在这里的问题,似乎在变量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 class:“bar_”替换为“bar”。 这就是我想要做的。
class
是JavaScript中未来的保留字。 使用className
,而不是class
。 setAttribute
divs
拥有它们时,不需要通过ID重新获取<div>
! 所以:
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";
}
}
把一个div
放在a
标签里是不合法的html,这没有帮助。 但主要的问题是读取需要使用el.className
的类属性。 另外,当你没有在html中定义它时,你试图读取内部div的id属性。
下一篇: Remove CSS class from element with JavaScript (no jQuery)