0

我尝试将所有类插入数组

例如

   <div class="class1">

   <div class="class2">

   <div class="class3">

   <div id="class4">

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

   </div>

和 javascript

      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 回答