jQuery obtient de la valeur au sein de div div
J'ai besoin de récupérer le texte de la valeur d'un enfant div.
<div id='first'>
<div id='first_child'>A</div>
<div id='second_child'>B</div>
<div id='third_child'>C</div>
</div>
Je suis en train d'essayer de saisir la valeur de B. je suis en train d'essayer ceci mais ça ne fonctionne pas,
var text_val = $('#first').next('#second_child').val();
source d'informationauteur medium
Vous devez vous connecter pour publier un commentaire.
Vous souhaitez utiliser
children()
ettext()
au lieu deval()
. Bien que, depuis que vous choisissez a un id (id doit être unique), vous pouvez également sélectionnez simplement en fonction de l'id sans intervention de l'élément conteneur.La
val()
méthode fonctionne uniquement sur les éléments d'entrée, textareas, et sélectionne -- fondamentalement, tous les éléments de formulaire qui contiennent des données. Pour obtenir le contenu textuel d'un conteneur, vous devez utilisertext()
(ouhtml()
si vous voulez la marque vers le haut).ou
next() et nextAll() traverse la frères et sœurs de l'élément, pas les enfants. Au lieu de cela, utiliser "find()"
Vous utilisez val() lorsque vous traitez avec des éléments tels que les entrées et les textareas. html() va retourner tout est en vertu de la div (qui fonctionne dans votre exemple). texte() permet de renvoyer le texte dans l'élément (qui serait également travailler dans votre exemple).
Votre exemple me fait douter de votre conception. Si vous avez plusieurs id réglé sur "#second_child", votre code html est confus. Au lieu de cela, utiliser une classe. Cependant, si il n'y a qu'un seul nom d'utilisateur "#second_child", alors vous avez besoin de:
vous pouvez tout simplement:
comme indiqué par les réponses précédentes. mais, depuis que vous avez "besoin de saisir le texte de la valeur d'un enfant div", je suppose que l'enfant div id probablement pas toujours disponibles. vous pouvez essayer ceci à la place:
où 1 est l'index de l'enfant div (car il commence à compter à partir de zéro)
...
Simple,
Ou de votre changement,
Ce sera le retour de "B" de la div d'id "second_child"
Mise à JOUR Changé la seconde solution à
children()
au lieu denextAll()
.Pour plusieurs éléments avec le même id:
Pour un seul élément avec un id particulier:
........
Si vous avez besoin d'aller dans des listes, utilisez ceci:
jQuery('.first > ul > li:nth-child(6)').text();
Exemple de code obtient la valeur de la 6ème élément dans une liste.