La méthode NodeFilter.acceptNode() renvoie un unsigned short (non signé court) qui sera utilisé pour dire si un Node donné peut être accepté ou non par l'algorithme d'itération NodeIterator ou TreeWalker. Cette méthode doit être écrite par l'utilisateur du NodeFilter. Les valeurs retournées possibles sont :

Constante Description
NodeFilter.FILTER_ACCEPT Valeur renvoyée par la méthode NodeFilter.acceptNode() quand un noeud doit être accepté .
NodeFilter.FILTER_REJECT Valeur à retourner par la méthode NodeFilter.acceptNode() quand le noeud doit être rejeté. Les enfants des noeuds rejetés ne sont pas visités par les objets NodeIterator ou TreeWalker ; cette valeur est traitée comme "ignorer ce noeud et tous ses enfants".
NodeFilter.FILTER_SKIP Valeur à retourner par NodeFilter.acceptNode() pour que les noeuds soient ignorés par les objets NodeIterator ou TreeWalker. Les enfants des noeuds ignorés sont toujours considérés. Cela équivaut à "ignorer ce noeud mais pas ses enfants".

La fonction doit renvoyer NodeFilter.FILTER_ACCEPT qui pousse le TreeWalker à renvoyer le noeud, NodeFilter.FILTER_REJECT qui contraint le TreeWalker à ignorer le sous-arbre entier ou NodeFilter.FILTER_SKIP.

Le navigateur ne fournit aucun objet implémentant cette méthode. C'est l'utilisateur qui doit écrire un objet implémentant l'interface NodeFilter, adapter la méthode acceptNode() à ses besoins et l'utiliser avec un objet TreeWalker ou NodeIterator.

Syntaxe

result = nodeFilter.acceptNode(node)

Paramètres

node
est un Node (noeud) qui doit être vérifié avec le filtre.

Exemple

var nodeIterator = document.createNodeIterator(
  // Noeud à utiliser comme racine
  document.getElementById('someId'),

  // Considérer uniquement les nœuds qui sont des nœuds de texte (nodeType 3)
  NodeFilter.SHOW_TEXT,

  // Objet contenant la fonction à utiliser pour la méthode acceptNode du NodeFilter
    { acceptNode: function(node) {
      // Logique pour déterminer si accepter, rejeter ou ignorer le noeud
      // dans ce cas, n'accepte que les noeuds ayant du contenu
      // autres que les espaces
      if ( ! /^\s*$/.test(node.data) ) {
        return NodeFilter.FILTER_ACCEPT;
      }
    }
  },
  false
);

// Affiche le contenu de tous les noeuds texte non vides qui sont enfants de la racine
var node;

while ((node = iterator.nextNode())) {
  alert(node.data);
}

Spécifications

Spécification Statut Commentaire
DOM
La définition de 'NodeFilter.acceptNode()' dans cette spécification.
Standard évolutif Pas de changement depuis Document Object Model (DOM) Level 2 Traversal and Range Specification
Document Object Model (DOM) Level 2 Traversal and Range Specification
La définition de 'NodeFilter.acceptNode()' dans cette spécification.
Obsolete Définition initiale.

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung Internet
Support simpleChrome Support complet 1Edge Support complet 12Firefox Support complet 2IE Support complet 9Opera Support complet 9Safari Support complet 3WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet 9Safari iOS Support complet 3Samsung Internet Android Support complet Oui

Légende

Support complet  
Support complet

Voir aussi

  • L'interface à laquelle elle appartient : NodeFilter.
 

Étiquettes et contributeurs liés au document

Contributeurs à cette page : loella16
Dernière mise à jour par : loella16,