ParentNode#
ParentNode.lastElementChild#
Właściwość firstElementChild zwraca ostatnie dziecko (będące elementem) należące do danego węzła. Jeśli węzeł nie posiada żadnego dziecka spełniającego te wymagania to zwrócona zostanie wartość null. Właściwość jest tylko do odczytu.
Opis działania#
Samo wywołanie i poszczególne jego części najlepiej objaśnić na zapisie składniowym:
var last_element = parentNode.lastElementChild;gdzie poszczególne człony oznaczają:
- last_element - referencja do ostatniego dziecka (elementu) w danym węźle lub wartość
null. - parentNode - węzeł będący obiektem kontekstu.
Alternatywnie można skorzystać z podobnie działających poleceń ParentNode.children[ParentNode.children.length - 1] lub ParentNode.children[ParentNode.childElementCount - 1].
Prosty przykład:
<!DOCTYPE html>
<html>
<head>
<script>
function getLastChild(method){
var contener = document.getElementById("contener"); // referencja do kontenera DIV
var lastChild = null;
var methodText = "";
if (method == "method1"){
lastChild = contener.lastElementChild;
methodText = "Polecenie: lastElementChild";
}
else if (method == "method2"){
lastChild = contener.lastChild;
methodText = "Polecenie: lastChild";
}
var info = document.getElementById("info");
info.innerHTML = methodText
+ "<br>" + "Interfejs pobranego węzła: " + lastChild
+ "<br>" + "Właściwość nodeName: " + lastChild.nodeName
+ "<br>" + "Właściwość textContent: " + lastChild.textContent;
}
</script>
</head>
<body>
<div id="contener"><!-- Pierwszy komentarz HTML -->
<p>Pierwszy akapit w kontenerze DIV.</p>
<p>Drugi akapit w kontenerze DIV.</p>
<!-- Drugi komentarz HTML --></div>
<p>Kliknij konkretny przycisk by pobrać ostatnie dziecko kontenera DIV.</p>
<input type="button" value="lastElementChild" onclick="getLastChild('method1')">
<input type="button" value="lastChild" onclick="getLastChild('method2')">
<p style="color: blue;">Szczegółowe informacje o sposobie:</p>
<p id="info"></p>
</body>
</html>Właściwość lastElementChild pojawia się dopiero w specyfikacji DOM4. W przeszłości była ona definiowana dla interfejsu ElementTraversal w osobnej specyfikacji Element Traversal Specification.
Składnia Web IDL#
[NoInterfaceObject] interface ParentNode { readonly attribute Element? lastElementChild; }