猿问

获取元素的父div

这应该真的很简单,但是我遇到了麻烦。如何获得子元素的父div?


我的HTML:


<div id="test">

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

</div>

我的JavaScript:


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

var parentDiv = ??????????   

我本来以为document.parent还是parent.container会工作,但我不断收到not defined错误。请注意,pDoc已定义,但不是其中的某些变量。


有任何想法吗?


PS我希望尽可能避免使用jQuery。


守着一只汪
浏览 931回答 3
3回答

UYOU

您正在寻找parentNode,其Element继承自Node:parentDiv&nbsp;=&nbsp;pDoc.parentNode;方便的参考:DOM2 Core规范-得到所有主流浏览器的良好支持DOM2 HTML规范-DOM和HTML之间的绑定DOM3 Core规范-一些更新,并非所有主流浏览器都支持所有更新HTML5规范&nbsp;-现在包含DOM / HTML绑定

芜湖不芜

如果您正在寻找一种比直接父元素更远的元素,可以使用一个在DOM上查找直到找到一个或没有找到的函数:// Find first ancestor of el with tagName// or undefined if not foundfunction upTo(el, tagName) {&nbsp; tagName = tagName.toLowerCase();&nbsp; while (el && el.parentNode) {&nbsp; &nbsp; el = el.parentNode;&nbsp; &nbsp; if (el.tagName && el.tagName.toLowerCase() == tagName) {&nbsp; &nbsp; &nbsp; return el;&nbsp; &nbsp; }&nbsp; }&nbsp; // Many DOM methods return null if they don't&nbsp;&nbsp; // find the element they are searching for&nbsp; // It would be OK to omit the following and just&nbsp; // return undefined&nbsp; return null;}
随时随地看视频慕课网APP
我要回答