JS向类添加类

时间:2018-04-12 19:37:42

标签: javascript

我正在尝试运行这个非常基本的代码,在那里我向所选元素添加一个类。

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]。

4 个答案:

答案 0 :(得分:3)

className是骆驼式的:

&#13;
&#13;
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;
&#13;
&#13;

或者,您可以使用classList

&#13;
&#13;
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;
&#13;
&#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添加新课程:

&#13;
&#13;
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;
&#13;
&#13;