element.classlist不在客户端工作

问题描述:

我是javascript新手。当我使用JavaScript事件我已经看到了关于element.classList。所以我已经尝试了一些代码来了解它是如何工作..element.classlist不在客户端工作

代码中,我已经做了

var n = document.getElementsByClassName('name'); 
var c = n.classList.add('name'); 
console.log(c); 

,就把它给我的错误,如Uncaught TypeError: Cannot read property 'add' of undefined

任何人都可以指出我哪里错了?

+1

'n'是元素**列表**。 'classList'是DOM元素的属性,而不是DOM元素的* list *。 – 2014-10-29 16:20:36

+0

@FelixKling你可以提供一个例子的答案..这将是非常有益的。 – 2014-10-29 16:21:43

getElementsByClassName返回一个NodeList(它就像一个数组)。请注意,“元素”是复数。

classList是的元素(单数)属性

你需要循环在节点列表元素并依次访问每一个的classList财产。

for (var i = 0; i < n.length; i++) { 
    console.log(n[i].classList.add('name')); 
} 
+0

哇这有帮助..classlist.add('somename');是用来给一个元素赋一个类名对吗? – 2014-10-29 16:25:12