Node#
Node.childNodes#
Właściwość childNodes
zwraca kolekcję typu NodeList
ze wszystkimi dziećmi należącymi do danego węzła (zgodnie z porządkiem drzewa). Jeśli węzeł nie posiada żadnych dzieci to zwrócona zostanie pusta kolekcja. 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 childs = node.childNodes;
gdzie poszczególne człony oznaczają:
- childs - kolekcja węzłowa ze wszystkimi dziećmi w danym węźle.
- node - węzeł będący obiektem kontekstu.
Trzeba wyraźnie zaznaczyć, że właściwość childNodes
operuje wyłącznie na dzieciach danego węzła, ale pomija dalszych jego potomków. W razie konieczności należałoby napisać własny algorytm przechodzenia po drzewie węzłów oparty na iteracjach (pętle) lub rekurencjach (funkcje) w połączeniu z innymi właściwościami dostępnymi dla każdego rodzaju węzła. Nie należy zapominać także o wbudowanym iteratorze węzłowym, który z zasady operuje na wszystkich węzłach należących do jego korzenia (włącznie z nim samym).
Prosty przykład:
<script>
document.write(document.childNodes); // [object NodeList]
document.write("<br>");
document.write(document.childNodes.length); // 1
document.write("<br>");
document.write(document.body.childNodes.length); // 4
document.write("<br>");
document.write(document.body.firstChild.childNodes.length); // 0 - pusta kolekcja
</script>
Składnia Web IDL#
interface Node : EventTarget { [SameObject] readonly attribute NodeList childNodes; }