如何找到DOM层次结构中哪个元素的位置更高

How to find which element stands higher in the DOM hierarchy?

本文关键字:元素 位置 何找 DOM 层次结构      更新时间:2023-09-26

我的意思是,如何找到两个元素中哪一个属于最靠近"document"或"window"的节点?哪个层次更高?

编辑这就完成了任务:

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

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

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

可能有更好的方法,但使用计数器重复调用parentNode直到找到根的暴力方法应该有效。假设您的文档没有嵌套得太深,那么它应该相对快速。

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

$('li:first')