0

すべてのクラスを配列に挿入しようとしています

例えば

   <div class="class1">

   <div class="class2">

   <div class="class3">

   <div id="class4">

   </div> 
   </div> 
   </div> 

   </div>

そしてジャバスクリプト

      var a=document.getElementById("class4");
  var b=new Array(a.parentNode.className,a.parentNode.parentNode.className,
  a.parentNode.parentNode.parentNode.className);
  for(i=0;i<b.length;i++)
  {alert(b[i])}

これは正常に動作しますが、私の質問は、クラスにあるparentNodeの量がわからない場合ですどうすればparentNode全体をループして配列に挿入できますか?

4

2 に答える 2

1
​function allParents(node) {
    var arr = [];
    while (node) {
        arr.push(node);
        node = node.parentNode;
    }
    return arr;
}

console.log(allParents(document.getElementsByClassName("class4")[0]));
​
于 2012-12-20T06:27:17.297 に答える
0

.parents()jqueryメソッドを使用することもできます http://api.jquery.com/parents/

于 2012-12-20T06:30:51.903 に答える