46 votes

Obtenir le texte après l'élément span en utilisant jquery

J'ai ce code html

<div id="mydiv">
    <div>
        <span>Text inside span</span>
        Text next to span
    </div>
    <div>
        Contents inside the 2nd div element...
    </div>
</div>

Je voulais obtenir le "Texte à côté du span" . J'ai essayé ce code JQuery

var a = $('#mydiv div').first().find('span').parent().text();
alert(a);

Le résultat du code jquery ci-dessus est le suivant :

Text inside span
Text next to span

Quelle serait la bonne chose à faire pour n'avoir que le "Texte à côté du span" ?

51voto

James Allardice Points 81162
var a = $('#mydiv div').first().contents().filter(function() {
    return this.nodeType == 3;
}).text();

Cela permet d'obtenir le contenu du fichier sélectionné div et filtre l'ensemble correspondant, en ne retournant que les éléments avec nodeType == 3 qui sont des nœuds de texte.

7voto

Tushar Ahirrao Points 2189

Utilisez ce code :

 $('#myDiv')
  .contents()
  .filter(function() {
    return this.nodeType == Node.TEXT_NODE;
  }).text();

7voto

Sean Don Points 41

Je l'ai eu par ceci :

$('#mydiv div').first().contents().eq(1).text();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X