Maison > interface Web > js tutoriel > Comment puis-je extraire des nœuds de texte d'un élément sans modifier le DOM ?

Comment puis-je extraire des nœuds de texte d'un élément sans modifier le DOM ?

DDD
Libérer: 2024-12-03 21:43:09
original
244 Les gens l'ont consulté

How Can I Extract Text Nodes from an Element Without Modifying the DOM?

Récupérer des nœuds de texte sans modifier la structure du DOM

Dans certains scénarios, il devient nécessaire d'extraire le contenu textuel d'un élément sans modifier sa structure . Par exemple, dans le code HTML suivant :

<div>
Copier après la connexion

Si le résultat souhaité est d'obtenir le texte "Je suis un nœud de texte" tout en préservant la balise "edit", une solution multi-navigateurs est requise.

Utilisation de Element.contents() et Node.TEXT_NODE

Pour y parvenir, nous pouvons tirer parti Propriétés Element.contents() et Node.TEXT_NODE de JavaScript. Voici un extrait de code concis mais efficace :

var text = $(".title").contents().filter(function() {
  return this.nodeType == Node.TEXT_NODE;
}).text();
Copier après la connexion

Décomposer la solution :

  • $(".title").contents() : Ceci La fonction renvoie une collection de tous les nœuds enfants directs au sein de l'élément sélectionné avec la classe "title".
  • .filter() : la fonction de filtre parcourt chaque enfant node et renvoie uniquement ceux qui sont de type Node.TEXT_NODE.
  • .text() : Cette méthode extrait le contenu textuel du résultat filtré.

Par conséquent, en utilisant cette technique, nous pouvons réussir à obtenir la partie "Je suis un nœud de texte" sans altérer la structure HTML. Cette solution est compatible avec tous les principaux navigateurs Web, garantissant une fonctionnalité multi-navigateurs.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal