我正在尝试运行这个非常基本的代码,在那里我向所选元素添加一个类。
https://jsfiddle.net/wm27ch2p/1/
document.getElementsByClassName("liHome")[0].classname += ' active';
document.getElementsByClassName("aHome")[0].classname += ' active';
<li class="liHome"><a class="aHome" href="#yellowBar">Home</a></li>
编辑:感谢您指出错字,除了这个问题,还有什么办法可以将这个类名添加到liHome或aHome类的所有元素中,而不仅仅是[0]。
答案 0 :(得分:3)
className
是骆驼式的:
document.getElementsByClassName("liHome")[0].className += ' active';
document.getElementsByClassName("aHome")[0].className += ' active';
&#13;
<li class="liHome"><a class="aHome" href="#yellowBar">Home</a></li>
&#13;
或者,您可以使用classList
。
document.getElementsByClassName("liHome")[0].classList.add('active');
document.getElementsByClassName("aHome")[0].classList.add('active');
&#13;
<li class="liHome"><a class="aHome" href="#yellowBar">Home</a></li>
&#13;
答案 1 :(得分:0)
正确的属性为className
,而不是classname
:
document.getElementsByClassName("liHome")[0].className += ' active';
// etc
答案 2 :(得分:0)
JS区分大小写,该属性称为className
,而不是classname
:
document.getElementsByClassName("liHome")[0].className += ' active';
document.getElementsByClassName("aHome")[0].className += ' active';
<li class="liHome"><a class="aHome" href="#yellowBar">Home</a></li>
答案 3 :(得分:0)
使用classList添加新课程:
document.getElementsByClassName("liHome")[0].classList.add('active');
document.getElementsByClassName("aHome")[0].classList.add('active');
&#13;
.active {
border: 1px solid red;
}
&#13;
<li class="liHome"><a class="aHome" href="#yellowBar">Home</a></li>
&#13;