NodeIterator
Базовая поддержка Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Интерфейс NodeIterator представляет собой итератор для обхода узлов поддерева DOM в порядке документа.
Синтаксис
Объект NodeIterator может быть создан с помощью метода Document.createNodeIterator(), как показано ниже:
const nodeIterator = document.createNodeIterator(root, whatToShow, filter);
Свойства экземпляра
Этот интерфейс не наследует никаких свойств.
-
NodeIterator.rootТолько для чтения -
Возвращает
Node, представляющий корневой узел, как указано при созданииNodeIterator. -
NodeIterator.whatToShowТолько для чтения -
Возвращает битовую маску
unsigned long, описывающую типыNodeдля соответствия. Узлы, не соответствующие шаблону, пропускаются, но соответствующие дочерние узлы могут быть включены.Возможные значения битовой маски — константы из интерфейса
NodeFilter.Константа Числовое значение Описание NodeFilter.SHOW_ALL4294967295(это максимальное значениеunsigned long)Отображает все узлы. NodeFilter.SHOW_ATTRIBUTEУстаревший2Отображает атрибуты Attrузлы. Это имеет смысл только при созданииNodeIteratorс узломAttrв качестве корня; в этом случае это означает, что узел атрибута будет отображаться в первой позиции итерации или обхода. Поскольку атрибуты никогда не являются дочерними узлами других узлов, они не отображаются при обходе дерева документа.NodeFilter.SHOW_CDATA_SECTIONУстаревший8Отображает узлы CDATASection.NodeFilter.SHOW_COMMENT128Отображает узлы Comment.NodeFilter.SHOW_DOCUMENT256Отображает узлы Document.NodeFilter.SHOW_DOCUMENT_FRAGMENT1024Отображает узлы DocumentFragment.NodeFilter.SHOW_DOCUMENT_TYPE512Отображает узлы DocumentType.NodeFilter.SHOW_ELEMENT1Отображает узлы Element.NodeFilter.SHOW_ENTITYУстаревший32Устаревшее, больше не используется. NodeFilter.SHOW_ENTITY_REFERENCEУстаревший16Устаревшее, больше не используется. NodeFilter.SHOW_NOTATIONУстаревший2048Устаревшее, больше не используется. NodeFilter.SHOW_PROCESSING_INSTRUCTION64Отображает узлы ProcessingInstruction.NodeFilter.SHOW_TEXT4Отображает узлы Text. -
NodeIterator.filterТолько для чтения -
Возвращает
NodeFilter, используемый для выбора соответствующих узлов. -
NodeIterator.referenceNodeТолько для чтения Экспериментальный -
Возвращает
Node, к которому привязан итератор. -
NodeIterator.pointerBeforeReferenceNodeТолько для чтения -
Возвращает логическое значение, указывающее, привязан ли
NodeIteratorперед узломNodeIterator.referenceNode. Еслиfalse, это означает, что итератор привязан после узла ссылки.
Методы экземпляра
Этот интерфейс не наследует никаких методов.
-
NodeIterator.detach()Устаревший -
Это устаревший метод, и он больше не оказывает никакого влияния. Ранее он использовался для пометки
NodeIteratorкак удалённого, чтобы его можно было вернуть сборщику мусора. NodeIterator.previousNode()-
Возвращает предыдущий
Nodeв документе илиnull, если их нет. NodeIterator.nextNode()-
Возвращает следующий
Nodeв документе илиnull, если их нет.
Спецификации
| Спецификация |
|---|
| DOM # interface-nodeiterator |
Совместимость браузеров
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Хром | Эдж | Файрфокс | Опера | Сафари | Хром для Android | Файрфокс для Android | Опера для Android | Сафари на iOS | Samsung Internet | WebView Android | |
NodeIterator |
1 | 12 | 3.5 | 9 | 3 | 18 | 4 | 10.1 | 3 | 1.0 | 4.4 |
detach |
1 | 12 | 3.5–22 | 9 | 3 | 18 | 4–22 | 10.1 | 3 | 1.0 | 4.4 |
filter |
1 | 12 | 3.5 | 9 | 3 | 18 | 4 | 10.1 | 3 | 1.0 | 4.4 |
nextNode |
1 | 12 | 3.5 | 9 | 3 | 18 | 4 | 10.1 | 3 | 1.0 | 4.4 |
pointerBeforeReferenceNode |
1 | 17 | 3.5 | ≤15 | 3 | 18 | 4 | ≤14 | 3 | 1.0 | 4.4 |
previousNode |
1 | 12 | 3.5 | 9 | 3 | 18 | 4 | 10.1 | 3 | 1.0 | 4.4 |
referenceNode |
1 | 17 | 3.5 | ≤15 | 3 | 18 | 4 | ≤14 | 3 | 1.0 | 4.4 |
root |
1 | 12 | 3.5 | 9 | 3 | 18 | 4 | 10.1 | 3 | 1.0 | 4.4 |
whatToShow |
1 | 12 | 3.5 | 9 | 3 | 18 | 4 | 10.1 | 3 | 1.0 | 4.4 |
См. также
- Метод создания:
Document.createNodeIterator(). - Связанный интерфейс:
TreeWalker
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator