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; }