javascript - significado - Obtener el elemento div primario del elemento
etiqueta div html ejemplos (6)
Conocer el elemento principal de un elemento es útil cuando intenta ubicarlos en un elemento de "flujo real".
A continuación, el código proporcionado dará como resultado la identificación del elemento primario del elemento cuya identificación se proporciona. Puede ser utilizado para el diagnóstico de desalineación.
<!-- 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 -->
Esto debería ser realmente simple, pero estoy teniendo problemas con eso. ¿Cómo obtengo un div principal de un elemento secundario?
HTML
<div id="test>
<p id="myParagraph">Testing</p>
</div>
JavaScript
var pDoc = document.getElementById("myParagraph");
var parentDiv = ??????????
Pensé que document.parent
o parent.container
funcionarían pero sigo recibiendo errores not defined
. Tenga en cuenta que el pDoc
está definido, pero no ciertas variables de él.
¿Algunas ideas?
PD Preferiría evitar jQuery si es posible.
Está buscando parentNode
, cuyo Element
hereda de Node
:
parentDiv = pDoc.parentNode;
Referencias útiles:
- Especificación DOM2 Core : bien respaldada por todos los principales navegadores
- Especificación de DOM2 HTML - enlaces entre DOM y HTML
- Especificación DOM3 Core : algunas actualizaciones, no todas compatibles con todos los principales navegadores
- Especificación HTML5 , que ahora tiene los enlaces DOM / HTML en ella
Esto podría ayudarte.
ParentID = pDoc.offsetParent;
alert(ParentID.id);
La propiedad pDoc.parentElement
o pDoc.parentNode
le proporcionará el elemento principal.
Si está buscando un tipo particular de elemento que esté más alejado que el primario inmediato, puede usar una función que sube el DOM hasta que encuentre uno, o no lo haga:
// 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;
}
var parentDiv = pDoc.parentElement
editar: esto es a veces parentNode
en algunos casos.
https://developer.mozilla.org/en-US/docs/Web/API/Node/parentElement