如何在DOM层次结构中找到哪个元素更高?

时间:2012-01-27 03:21:09

标签: javascript dom hierarchy

我的意思是,我怎样才能找到哪两个元素属于最接近'document'或'window'的节点?层次结构中哪个更高?

EDIT 这可以完成工作:

function gerarchia(elem) { 
  var i=0; 
  while (elem.parentNode) { 
    elem = elem.parentNode; 
    i++; 
  } 
  return i; 
} 

3 个答案:

答案 0 :(得分:1)

可能有一种更好的方法,但是只有用计数器反复调用parentNode直到你击中根才的蛮力方法才有效。假设您的文档没有被深深地嵌套,那么它应该相对较快。

答案 1 :(得分:1)

尝试.parents().length,如下所示:

if ( $(element1).parents().length > $(element2).parents().length ) {
  // lower
}
else {
  // higher
}

答案 2 :(得分:0)

如果你有jQuery,你可以这样做,例如找到第一个<li>元素:

$('li:first')