【问题标题】:How to find which element stands higher in the DOM hierarchy?如何找到 DOM 层次结构中哪个元素更高?
【发布时间】:2012-01-27 03:21:09
【问题描述】:

我的意思是,我怎样才能找到两个元素中的哪一个属于最接近“文档”或“窗口”的节点?哪个层次更高?

编辑 这样就完成了:

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

【问题讨论】:

    标签: javascript dom hierarchy


    【解决方案1】:

    试试.parents().length,像这样:

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

    【讨论】:

    • 应该指出这将需要 jquery,因为 jquery 不包含在问题的标签中。
    【解决方案2】:

    可能有更好的方法,但是使用计数器反复调用parentNode 直到您找到根目录的蛮力方法应该有效。假设您的文档没有嵌套太深,它应该相对较快。

    【讨论】:

    • 感谢您的提示。我想出了这个似乎可以完成工作的功能。 function gerarchia(elem) { var i=0; while (elem.parentNode) { elem = elem.parentNode; i++; } return i; }
    【解决方案3】:

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

    $('li:first')
    

    【讨论】:

      猜你喜欢
      • 2012-08-04
      • 2013-01-21
      • 2016-09-30
      • 1970-01-01
      • 1970-01-01
      • 2012-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多