className在Javascript

时间:2017-05-23 13:03:33

标签: javascript

有很多类似的问题和答案,但在尝试了所有解决方案后,我无法弄清楚我的代码有什么问题。

这是我的代码

var x = document.getElementsByClassName('xclass1 xclass2 xclass3');
console.log(x);
x.className += ' class4';
console.log(x);
console.log(x.className);

以下是第一个console.log中显示的内容:

[a.xclass1.xclass2.xclass3]

它表明它找到了正确的元素

以下是第二个console.log中显示的内容:

[a.xclass1.xclass2.xclass3, className: "undefined class4"]

第三个回复:

undefined class4

有人可以解释为什么className会返回undefined吗?我完全迷失在这里

1 个答案:

答案 0 :(得分:2)

见下面的代码片段

返回undefined,因为你试图控制包含元素而不是实际元素的对象数组的类。



var x = document.getElementsByClassName('xclass1 xclass2 xclass3');
console.log(x);
x[0].className += ' class4';
console.log(x);
console.log(x[0].className);

<div class="xclass1 xclass2 xclass3"></div>
&#13;
&#13;
&#13;