2014-10-29 3 views
-2

Я новичок в javascript. Когда я возглавлял с яваскриптом событиями я видел о element.classList .so я испытал некоторый код, чтобы понять, как это работает ..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. –

+0

@FelixKling вы можете дать ответ с примером .. это было бы очень полезно. –

ответ

1

getElementsByClassName возвращает NodeList (который похож на массив). Обратите внимание, что «Элементы» - множественное число.

classList является свойством элемента (в единственном числе)

Вы должны цикла по элементам в NodeList и получить доступ к classList собственности каждого из них в свою очередь.

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

wow Это было полезно ..classlist.add ('somename'); используется для присвоения имени класса правильному элементу? –