이것은 정말 간단해야하지만 문제가 있습니다. 자식 요소의 부모 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
정의는 있지만 특정 변수는 아닙니다.
어떤 아이디어?
추신 : 가능하다면 jQuery를 피하는 것을 선호합니다.
답변
답변
직계 부모보다 멀리 떨어진 특정 유형의 요소를 찾고 있다면 DOM을 찾을 때까지 또는 그렇지 않은 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;
}
답변
속성 pDoc.parentElement
또는 pDoc.parentNode
부모 요소를 가져옵니다.
답변
var parentDiv = pDoc.parentElement
편집 : 때로는 경우 parentNode
에 따라입니다.
https://developer.mozilla.org/en-US/docs/Web/API/Node/parentElement
답변
도움이 될 수 있습니다.
ParentID = pDoc.offsetParent;
alert(ParentID.id);
답변
요소의 부모를 아는 것은 요소의 “실제 흐름”을 배치하려고 할 때 유용합니다.
아래의 코드는 id가 제공된 element의 parent의 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 -->