NodeIterator#
NodeIterator.root#
Właściwość root
zwraca korzeń (węzeł) skojarzony z danym iteratorem węzłowym. 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 iterator_root = nodeIterator.root;
gdzie poszczególne człony oznaczają:
- iterator_root - referencja do korzenia w iteratorze węzłowym.
- nodeIterator - iterator węzłowy będący obiektem kontekstu.
Korzeniem może być dowolny rodzaj węzła, jest on ustawiany bezpośrednio przy tworzeniu iteratora węzłowego (pierwszy argumenty) za pomocą metody Document.createNodeIterator()
, w żaden sposób nie zależy od przekazywanej maski bitowej (drugi argumenty) czy filtra (trzeci argument), i dodatkowo nigdy nie ulega zmianie. Dotyczy to zarówno usuwania węzłów wchodzących w skład iteratora, jak i bezpośredniego usuwania samego korzenia.
W iteratorze węzłowym to właśnie korzeń zawsze pełni rolę ogranicznika przy przechodzeniu między jego węzłami. W zależności od filtracji możemy przechodzić jedynie przez sam korzeń lub węzły w nim zawarte, co w przypadku obiektów typu TreeWalker
niekoniecznie musi być spełnione (szczegóły).
Prosty przykład:
<script>
// Tworzymy nowego iteratora węzłowego (maska bitowa oraz filtr są domyślne)
var iterator1 = document.createNodeIterator(document);
// Tworzymy nowego iteratora węzłowego (maska bitowa oraz filtr są domyślne)
var iterator2 = document.createNodeIterator(document.documentElement);
// Tworzymy nowego iteratora węzłowego (maska bitowa oraz filtr są domyślne)
var iterator3 = document.createNodeIterator(document.createTextNode(""));
document.write(iterator1.root); // [object HTMLDocument]
document.write("<br><br>");
document.write(iterator2.root); // [object HTMLHtmlElement]
document.write("<br><br>");
document.write(iterator3.root); // [object Text]
</script>
Składnia Web IDL#
interface NodeIterator { [SameObject] readonly attribute Node root; }