javascript getElementsByClassName()总是返回none?

时间:2011-03-03 10:56:59

标签: javascript element selector

嘿伙计们, 我想为我的浏览器创建最简单的书签。

javascript:document.getElementsByClassName('source').style.visibility='visible';

我的身体里有多个div.source。默认情况下,它们使用css设置为.source { display:none; }

我的控制台告诉我:Uncaught TypeError: Cannot set property 'display' of undefined

当我点击书签时,所有.source div应该是可见的。我在这里做错了什么?

3 个答案:

答案 0 :(得分:21)

您可能需要遍历结果,如下所示:

var divs = document.getElementsByClassName('source');
for(var i=0; i<divs.length; i++) { 
  divs[i].style.display='block'
}

正如@ionoy所提到的,使用display属性。我希望有所帮助。

http://jsfiddle.net/erick/rb7bn/1/

答案 1 :(得分:0)

有'可见性'并且有'显示'。他们是完全不同的野兽。

W3Schools的:

visibility

display

答案 2 :(得分:0)

转到display。它适用于许多浏览器,在很多情况下都适用。