2014-05-03 53 views
0

我正在玩0123',我的控制台中出现了一些奇怪的错误。 Here's my demo使用.classList.add时发生错误

基本上,我有一个所有类的孩子的图像数组,我正在做一个javascrpt .querySelectorAll将这些图像存储在变量进行进一步操作。

var el = document.querySelectorAll('.child'); 

console.log(el.classList;); 
el.classList.add("someClass"); 

但是当我打开我的控制台时,我收到了一些错误。

这一个参考.classList; 未定义 这一个参考.classList.add();

Uncaught TypeError: Cannot read property 'add' of undefined 

然而,当我切换到查找由ID元素,错误消失。现在使用ID不是没有问题的,但理想情况下,我想保留类名。任何想法发生了什么?

+1

'querySelectorAll',顾名思义,返回一组元素。该集合没有'classList'属性。 –

回答

2

el是一个集合,而不是一个DOM元素。尽管classList对数组没有多大意义。所以你可能想要做什么:

var product = document.getElementsByClassName('product'); 
var el = document.querySelectorAll('.child'); 
for(var i = 0; i < el.length; i++) { 
    el[i].classList.add("someClass"); 
    console.log(el[i].classList); 
} 
+0

谢谢!这实际上更多的是我需要做的。 – mhartington