Document.createTreeWalker()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
La méthode de création Document.createTreeWalker()
renvoie un nouvel objet TreeWalker
.
Syntaxe
treeWalker = document.createTreeWalker(
root,
whatToShow,
filter,
entityReferenceExpansion,
);
Paramètres
- root
-
est le
Node
(noeud) racine duTreeWalker
à traverser. Généralement, ce sera un élément appartenant au document. - whatToShow Facultatif
-
est un
unsigned long
(long non signé) facultatif représentant un masque de bits créé par combinaison des propriétés de constante deNodeFilter
. C'est un moyen pratique de filtrage pour certains types de nœuds. Par défaut0xFFFFFFFF
représentant la constanteSHOW_ALL
.Constante Valeur numérique Description NodeFilter.SHOW_ALL
-1
(c'est la valeur numérique maximale duunsigned long
(non signé long))Affiche tous les noeuds. NodeFilter.SHOW_ATTRIBUTE
Obsolète2
Affiche l'attribut Attr
des noeuds. Cela n'a de sens que lors de la création d'unTreeWalker
avec un noeudAttr
comme racine ; dans ce cas, cela signifie que le nœud d'attribut apparaîtra dans la première position de l'itération ou de la traversée. Comme les attributs ne sont jamais des enfants d'autres nœuds, ils n'apparaissent pas lors de la traversée de l'arbre du document.NodeFilter.SHOW_CDATA_SECTION
Obsolète8
Affiche les noeuds CDATASection
.NodeFilter.SHOW_COMMENT
128
Affiche les noeuds Comment
.NodeFilter.SHOW_DOCUMENT
256
Affiche les noeuds Document
.NodeFilter.SHOW_DOCUMENT_FRAGMENT
1024
Affiche les noeuds DocumentFragment
.NodeFilter.SHOW_DOCUMENT_TYPE
512
Affiche les noeuds DocumentType
.NodeFilter.SHOW_ELEMENT
1
Affiche les noeuds Element
.NodeFilter.SHOW_ENTITY
Obsolète32
Affiche les noeuds Entity
. Cela n'a de sens que lors de la création d'unTreeWalker
avec un noeudEntity
comme racine ; dans ce cas, il signifie que le noeud d'entitéEntity
apparaîtra à la première position de la traversée. Étant donné que les entités ne font pas partie de l'arborescence du document, elles n'apparaissent pas lors de la traversée de l'arborescence du document.NodeFilter.SHOW_ENTITY_REFERENCE
Obsolète16
Affiche les noeuds EntityReference
.NodeFilter.SHOW_NOTATION
Obsolète2048
Affiche les noeuds Notation
. Cela n'a de sens que lors de la création d'unTreeWalker
avec un noeudNotation
comme racine ; dans ce cas, il signifie que le noeudNotation
apparaîtra à la première position de la traversée. Étant donné que les entités ne font pas partie de l'arborescence du document, elles n'apparaissent pas lors de la traversée de l'arborescence du document.NodeFilter.SHOW_PROCESSING_INSTRUCTION
64
Affiche les noeuds ProcessingInstruction
.NodeFilter.SHOW_TEXT
4
Affiche les noeuds Text
. filter
Facultatif-
est un
NodeFilter
(filtre de noeud) facultatif, c'est à dire un objet avec une méthodeacceptNode
appelé parTreeWalker
pour déterminer s'il doit accepter ou non un nœud qui a passé le testwhatToShow
. entityReferenceExpansion
Facultatif Obsolète-
est un
Boolean
(booléen) indiquant si, lors de la suppression d'uneEntityReference
, son sous-arbre doit être supprimé en même temps.
Exemple
L'exemple suivant passe à travers tous les noeuds du "body" (corps du document), réduit l'ensemble des noeuds aux éléments, passe simplement à travers chaque noeud acceptable (à la place, il pourrait réduire l'ensemble dans la méthode acceptNode()
), puis utilise l'itérateur de traversée de l'arbre créé pour avancer à travers les nœuds (maintenant tous les éléments) et les écrire dans un tableau.
var treeWalker = document.createTreeWalker(
document.body,
NodeFilter.SHOW_ELEMENT,
{
acceptNode: function (node) {
return NodeFilter.FILTER_ACCEPT;
},
},
false,
);
var nodeList = [];
while (treeWalker.nextNode()) nodeList.push(treeWalker.currentNode);
Spécifications
Specification |
---|
DOM Standard # dom-document-createtreewalker |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
- L'interface de l'objet qu'il crée :
TreeWalker
.