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与えます.why、そしてdivdiv内のすべてを取得する方法はweb_index?

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");

querySelector()または、JavaScript関数を使用できます

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