--- title: ParentNode.lastElementChild slug: Web/API/ParentNode/lastElementChild translation_of: Web/API/ParentNode/lastElementChild ---
{{ APIRef("DOM") }}
La propiedad de sólo lectura ParentNode.lastElementChild
retorna el último hijo del objeto {{domxref("Element")}} o bien null
si no hay elementos hijos.
Esta propiedad fue inicialmente definida en el interfaz puro {{domxref("ElementTraversal")}}. Dado que este interfaz contenía dos juegos distintos de propiedades, uno dirigido al nodo {{domxref("Node")}} que tiene hijos, y otro a aquellos que son hijos, se han trasladado a dos interfaces puros separados, {{domxref("ParentNode")}} y {{domxref("ChildNode")}}. En este caso, lastElementChild
fue movido a {{domxref("ParentNode")}}. Este es un cambio de carácter técnico que no debería afectar a la compatibilidad.
var childNode = elementNodeReference.lastElementChild;
<p id="para-01"> <span>First span</span> <b>bold</b> </p> <script type="text/javascript"> var p01 = document.getElementById('para-01'); alert(p01.lastElementChild.nodeName) </script>
En este ejemplo, la alerta muestra "B", que es el nombre de etiqueta del último nodo hijo del elemento párrafo ("P").
Esta propiedad no está soportada con anterioridad a IE9, así que el siguiente códigopuede ser usado para añadir el soporte a IE8:
// Source: https://github.com/Alhadis/Snippets/blob/master/js/polyfills/IE8-child-elements.js if(!("lastElementChild" in document.documentElement)){ Object.defineProperty(Element.prototype, "lastElementChild", { get: function(){ for(var nodes = this.children, n, i = nodes.length - 1; i >= 0; --i) if(n = nodes[i], 1 === n.nodeType) return n; return null; } }); }
Especificación | Estado | Observaciones |
---|---|---|
{{SpecName('DOM WHATWG', '#dom-parentnode-lastelementchild', 'ParentNode.lastElementChild')}} | {{Spec2('DOM WHATWG')}} | Dividido el interfaz ElementTraversal en {{domxref("ChildNode")}} y ParentNode . Este método queda ahora definido en el segundo.{{domxref("Document")}} y {{domxref("DocumentFragment")}} implementaron los nuevos interfaces. |
{{SpecName('Element Traversal', '#attribute-lastElementChild', 'ElementTraversal.lastElementChild')}} | {{Spec2('Element Traversal')}} | Añadida su definición inicial al interfaz puro ElementTraversal y lo usa en {{domxref("Element")}}. |
{{ CompatibilityTable() }}
Prestación | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Soporte básico (en {{domxref("Element")}}) | 1.0 | {{CompatGeckoDesktop("1.9.1")}} | 9.0 | 10.0 | 4.0 |
Soporte en {{domxref("Document")}} y {{domxref("DocumentFragment")}} {{experimental_inline}} | 29.0 | {{CompatGeckoDesktop("25.0")}} | {{CompatNo}} | 16.0 | {{CompatNo}} |
Prestación | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Soporte básico (en {{domxref("Element")}}) | {{ CompatVersionUnknown() }} | {{CompatGeckoMobile("1.9.1")}} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} |
Soporte en {{domxref("Document")}} y {{domxref("DocumentFragment")}} {{experimental_inline}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile("25.0")}} | {{CompatNo}} | 16.0 | {{CompatNo}} |