Accéder a un élément d'une même division

Résolu/Fermé
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 - Modifié le 4 févr. 2020 à 21:34
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 - 7 févr. 2020 à 12:17
Bonjour,
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
A voir également:

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
4 févr. 2020 à 21:37
Bonjour,

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 genre
var pText = $(this).parent().prev();
var txt = pText.html();

0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
5 févr. 2020 à 20:01
D'accord est auriez vous une idée de comment gérer le faut qu'il y ai plusieurs boutons ?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
5 févr. 2020 à 20:07
Le dollar this correspond au bouton sur lequel tu as cliqué
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
Modifié le 5 févr. 2020 à 20:19
a 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
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
5 févr. 2020 à 21:15
Si 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 parent

var child1 = document.getElementById("child1"),
    parent = child1.parentNode,
    
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
5 févr. 2020 à 21:33
Oui j'ai vu, mais votre réponse ma guider. Mais cela ne m'aide pas pour ma seconde question ?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
5 févr. 2020 à 21:40
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
7 févr. 2020 à 12:17
Merci beaucoup !!
0