0
<div class="web_index">
<div style="display:block" >content 1</div>
<div style="display:none">content 2</div>
<div style="display:none">content 3</div>
</div>

我用了

 var div =document.getElementsByClass("web_index").getElementsByTagName("div");

它提示我。TypeError: document.getElementsByClass is not a function为什么,以及如何divweb_indexdiv 中获取所有内容?

4

5 回答 5

2

document.getElementsByClassName不是document.getElementsByClass。_

于 2012-09-14T06:55:17.320 回答
1

正如它所说,没有这样的功能“getElementsByClass”。您可以做的是获取所有“div”并循环遍历它,将元素 className 与“web_index”进行比较。

于 2012-09-14T06:58:51.567 回答
0

按类名

document.getElementsByClassName
于 2012-09-14T06:55:17.217 回答
0

也许

var div =document.getElementsByClassName("web_index")[0].getElementsByTagName("div");

getElementsByClassName在某些 Internet Explorer 版本中不存在,也许您需要创建该函数:

document.getElementsByClassName = function(cl) {
  var retnode = [];
  var elem = this.getElementsByTagName('*');
  for (var i = 0; i < elem.length; i++) {
    if((' ' + elem[i].className + ' ').indexOf(' ' + cl + ' ') > -1) retnode.push(elem[i]);
  }
  return retnode;
}; 
于 2012-09-14T06:55:21.007 回答
0

它的

var div = document.getElementsByClassName('web_index').getElementsByTagName("div");

或者你可以使用 javascriptquerySelector()函数

var div = document.querySelector('.web_index').getElementsByTagName("div");
于 2012-09-14T06:57:55.033 回答