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

我的HTML:

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

我的JavaScript:

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

我认为是文件。父母或父母。容器将工作,但我一直得到未定义的错误。注意,pDoc是定义的,而不是它的某些变量。

什么好主意吗?

注:如果可能的话,我倾向于避免使用jQuery。


当前回答

你要找的是parentNode,它是Element从Node继承的:

parentDiv = pDoc.parentNode;

方便的引用:

DOM2核心规范——所有主流浏览器都支持 DOM2 HTML规范——DOM和HTML之间的绑定 DOM3核心规范-一些更新,不是所有主流浏览器都支持 HTML5规范——现在包含了DOM/HTML绑定

其他回答

属性pDoc。亲子关系或pDoc。parentNode将为您提供父元素。

当您试图在元素的“实际流”中定位元素时,了解元素的父元素非常有用。

下面给出的代码将输出提供id的元素的父元素的id。可用于错位诊断。

<!-- Patch of code to find parent -->
<p id="demo">Click the button </p>
<button onclick="parentFinder()">Find Parent</button>
<script>
function parentFinder()
{
    var x=document.getElementById("demo"); 
    var y=document.getElementById("*id of Element you want to know parent of*");
    x.innerHTML=y.parentNode.id;
}
</script>
<!-- Patch ends -->

你要找的是parentNode,它是Element从Node继承的:

parentDiv = pDoc.parentNode;

方便的引用:

DOM2核心规范——所有主流浏览器都支持 DOM2 HTML规范——DOM和HTML之间的绑定 DOM3核心规范-一些更新,不是所有主流浏览器都支持 HTML5规范——现在包含了DOM/HTML绑定

这可能对你有帮助。

ParentID = pDoc.offsetParent;
alert(ParentID.id); 

var parentDiv = pDoc.parentElement

编辑:在某些情况下有时是parentNode。

https://developer.mozilla.org/en-US/docs/Web/API/Node/parentElement