javascript getElementsByClassName()总是返回none?

mat*_*att 7 javascript element selector

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

javascript:document.getElementsByClassName('source').style.visibility='visible';
Run Code Online (Sandbox Code Playgroud)

我体内有多个div.source.默认情况下,它们设置为.source { display:none; }css.

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

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

eri*_*ckb 21

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

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

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

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

  • javascript:(function() { var divs = document.getElementsByClassName('source');for(var i=0; i&lt;divs.length; i++) divs[i].style.display='block'; })( ); (2认同)