2014-10-29 52 views
-2

我是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

回答

1

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