J'ai déjà répondu à une question similaire. Lors de la traversée de nodeChild, ce texte est une instance de Text() Vous pouvez vous référer à la question à laquelle j'ai répondu auparavant : /q/10...
Pour comprendre la question, vous souhaitez probablement obtenir tout le texte qui appartient à l'élément parent mais n'appartient pas à l'élément enfant
En supposant que vous connaissez la position du texte, c'est plus simple, si le texte est au début :
//pp = """<p class="mui-media-body js-media-body js-anviz-body">Trouble Ticket
<p class="anviz-ellipsis js-des">You can sumbit your trouble and …</p>
</p>"""
var childNodes = pp.childNodes;
var text = childNodes[0]; // Trouble Ticket
Si la position du texte est incertaine, voire s'il y en a plusieurs, alors il faut parcourir les éléments enfants de l'élément parent et trouver tous les éléments dont les attributs de nœud sont du texte :
//pp = """<p class="mui-media-body js-media-body js-anviz-body">
Trouble Ticket
<p class="anviz-ellipsis js-des">You can sumbit your trouble and …</p>
Trouble Ticket2
</p>"""
var childNodes = pp.childNodes;
var textNodes = [];
childNodes.forEach(function(node){
if (node.nodeType === 3) {
textNodes.push(node);
} // 3 为 文本
});
//textNodes === ['Trouble Ticket', 'Trouble Ticket2']
La méthode de clonage ci-dessus est meilleure. Que se passe-t-il s'il y a du texte derrière la balise p ? L'utilisation de firstChild n'obtient que le premier nœud de texte, et il doit être parcouru pour obtenir les nœuds de texte suivants.
Il est préférable d'ajouter une étiquette pour l'emballer pour un accès facile
D'accord!
Clonez d'abord l'élément, puis supprimez les éléments enfants et enfin obtenez le texte sans éléments enfants
J'ai déjà répondu à une question similaire. Lors de la traversée de nodeChild, ce texte est une instance de
.Text()
Vous pouvez vous référer à la question à laquelle j'ai répondu auparavant : /q/10...Il est plus raisonnable d'ajouter une travée pour le couvrir
Pour comprendre la question, vous souhaitez probablement obtenir tout le texte qui appartient à l'élément parent mais n'appartient pas à l'élément enfant
En supposant que vous connaissez la position du texte, c'est plus simple, si le texte est au début :
Si la position du texte est incertaine, voire s'il y en a plusieurs, alors il faut parcourir les éléments enfants de l'élément parent et trouver tous les éléments dont les attributs de nœud sont du texte :
La méthode de clonage ci-dessus est meilleure. Que se passe-t-il s'il y a du texte derrière la balise p ?
L'utilisation de firstChild n'obtient que le premier nœud de texte, et il doit être parcouru pour obtenir les nœuds de texte suivants.
Code HTML :
code js :