有很多类似的问题和答案,但在尝试了所有解决方案后,我无法弄清楚我的代码有什么问题。
这是我的代码
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
吗?我完全迷失在这里
答案 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;