Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Document.createNodeIterator()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
Renvoie un nouvel objet NodeIterator.
Syntaxe
var nodeIterator = document.createNodeIterator(root, whatToShow, filter);
Valeurs
root-
Le noeud racine à partir duquel commencer la traversée de
NodeIterator. whatToShowFacultatif-
Est un
unsigned long(long non signé) facultatif représentant un masque de bits créé par la combinaison des constantes de la propriétéNodeFilter. C'est un moyen pratique de filtrage pour certains types de noeuds. Il est par défaut0xFFFFFFFFreprésentant la constanteSHOW_ALL.Constante Valeur numérique DescriptionNodeFilter.SHOW_ALL-1(c'est la valeur numérique maximale duunsigned long(non signé long)) Affiche tous les noeuds.NodeFilter.SHOW_ATTRIBUTEObsolète2Affiche l'attributAttrdes noeuds. Cela n'a de sens que lors de la création d'unTreeWalkeravec un noeudAttrcomme 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_ENTITYObsolète32Affiche les noeudsEntity. Cela n'a de sens que lors de la création d'unTreeWalkeravec un noeudEntitycomme racine ; dans ce cas, il signifie que le noeud d'entitéEntityapparaî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_NOTATIONObsolète2048Affiche les noeudsNotation. Cela n'a de sens que lors de la création d'unTreeWalkeravec un noeudNotationcomme racine ; dans ce cas, il signifie que le noeudNotationapparaî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. filterFacultatif-
Un objet implémentant l'interface
NodeFilter; sa méthodeacceptNode()sera appelée pour chaque nœud du sous-arbre basé à la racine qui est accepté comme inclus par l'indicateur whatToShow pour déterminer s'il faut ou non l'inclure dans la liste des nœuds iterables (une simple fonction de rappel peut également être utilisée à la place). La méthode devrait retourner l'un desNodeFilter.FILTER_ACCEPT,NodeFilter.FILTER_REJECTouNodeFilter.FILTER_SKIP. Voir l'exemple.
Note :
Avant Gecko 12.0, cette méthode acceptait un quatrième paramètre facultatif (entityReferenceExpansion). Cela ne faisait pas partie de la spécification DOM4 et a donc été supprimé. Ce paramètre indiquait si les enfants des nœuds de référence d'entité étaient visibles ou non par l'itérateur. Puisque de tels noeuds n'ont jamais été créés dans les navigateurs, ce paramètre n'a eu aucun effet.
Exemple
var nodeIterator = document.createNodeIterator(
document.body,
NodeFilter.SHOW_ELEMENT,
function (node) {
return node.nodeName.toLowerCase() === "p"
? NodeFilter.FILTER_ACCEPT
: NodeFilter.FILTER_REJECT;
},
);
var pars = [];
var currentNode;
while ((currentNode = nodeIterator.nextNode())) {
pars.push(currentNode);
}
Compatibilité des navigateurs
Pris en charge dans FF 3.5+, Chrome 1+, Opera 9+, Safari 3+, IE9+, Edge