Accéder a un élément d'une même division
Résolu
Bonjour,
j'ai une aborescence html comme suit :
j'aimerai que lorsque j’appuie sur le bouton je puisses récupérer la valeur du texte.
auriez vous des proposition a me proposer ?
Cordialement.
EDIT : Correction des balises de code
j'ai une aborescence html comme suit :
<div class="div"> <h2>News 3</h2> <p class="text">bloblob1</p> <p><a class="btn" href="#" role="button">View</a></p> </div> <div class="div"> <h2>News 3</h2> <p class="text">bloblob2</p> <p><a class="btn" href="#" role="button">View</a></p> </div>
j'aimerai que lorsque j’appuie sur le bouton je puisses récupérer la valeur du texte.
auriez vous des proposition a me proposer ?
Cordialement.
EDIT : Correction des balises de code
2 réponses
-
ModérateurBonjour,
Le text se trouvant dans un élément qui se trouve "avant" tu peux essayer d'utiliser le selecteur prev
https://api.jquery.com/prev/
Mais comme le bouton est contenu dans une balise <p> il faut, au préalable faire appel au selecteur parent
https://api.jquery.com/parent/
Donc un truc du genrevar pText = $(this).parent().prev(); var txt = pText.html();
-
-
Modérateur@Hamster18Le dollar this correspond au bouton sur lequel tu as cliqué
-
@jordane45a quel endroit car comme ceci :
document.querySelectorAll(".btn-secondary").forEach( input => input.addEventListener('click', clickViewDetail($this)) );
Cela me provoque une erreur : ReferenceError: $this is not defined -
Modérateur@Hamster18Si tu as lu les liens que je t'ai donné tu as dû voir que ça faisait référence à jQuery
Si tu tiens à le faire en pure JavaScript dans ce cas-là la syntaxe est un peu différente
Par exemple pour avoir le parentvar child1 = document.getElementById("child1"), parent = child1.parentNode,
-
-
Oui j'ai vu, mais votre réponse ma guider. Mais cela ne m'aide pas pour ma seconde question ?
-
-
@jordane45Merci beaucoup !!
-