获取元素的父div

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

如何获得子元素的父元素?

HTML

<div id="test>
    <p id="myParagraph">Testing</p>
</div>

JavaScript

var pDoc = document.getElementById("myParagraph");
var parentDiv = ??????????   

我本以为document.parent or parent.container会起作用的但我一直not defined errors. Note that the pDoc是定义的,只是不确定它的变量。

提问于
用户回答回答于

你在找parentNode,它Element继承自Node:

parentDiv = pDoc.parentNode;

方便的参考资料:

DOM 2芯规范.所有主要浏览器都支持良好

DOM 2 HTML规范-DOM和HTML之间的绑定

DOM 3芯规范-一些更新,并不是所有的主要浏览器都支持。

HTML 5规范-它现在有DOM/HTML绑定

用户回答回答于

正在寻找比直接父元素更远的特定类型的元素,则可以使用一个函数,直到它找到一个或没有找到DOM为止:

// Find first ancestor of el with tagName
// or undefined if not found
function upTo(el, tagName) {
  tagName = tagName.toLowerCase();

  while (el && el.parentNode) {
    el = el.parentNode;
    if (el.tagName && el.tagName.toLowerCase() == tagName) {
      return el;
    }
  }

  // Many DOM methods return null if they don't 
  // find the element they are searching for
  // It would be OK to omit the following and just
  // return undefined
  return null;
}

扫码关注云+社区