getElementsByTagName() Équivalent pour TextNodes
Question :
Existe-t-il une méthode similaire à getElementsByTagName() qui récupère une collection de tous les textNodes dans un document ?
Discussion :
getElementsByTagName() peut rassembler efficacement des éléments, mais il ne s'étend pas aux textNodes. Bien que traverser le DOM soit une option viable, cette question explore la possibilité d'une solution native basée sur un navigateur.
Réponse :
Il n'existe actuellement aucun équivalent direct à getElementsByTagName () pour les nœuds de texte. Cependant, il existe plusieurs méthodes alternatives :
Tests de performances :
Les tests de performances révèlent que TreeWalker fonctionne aussi bien, sinon mieux, que getElementsByTagName( ). Le parcours itératif personnalisé affiche également de bonnes performances. Alors que XPath et querySelectorAll donnent des résultats satisfaisants, Recursive Traversal est à la traîne en raison de sa récursion plus profonde.
Informations supplémentaires :
Même s'il existait une méthode native de collecte de nœuds de texte, vous devrez toujours parcourir et extraire le contenu textuel réel de chaque nœud. Par conséquent, le goulot d'étranglement des performances ne réside pas seulement dans l'itération sur les nœuds de texte, mais également dans l'examen des nœuds non textuels pour déterminer leur type.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!