Trouver le plus proche du bouton cliqué

$(document).ready(function() { $('button').on('click', function() { $('.container').children().eq(1).append($('p.important').text()); }); });  

Je veux trouver la balise p supérieure la plus proche de mon bouton. Par exemple, si je déplace le bouton sous

1

, il doit lui append des valeurs. Si je déplace mon bouton en bas, il devrait append des valeurs supplémentaires à

3

.

Est-ce possible avec mon code HTML actuel?

Vous pouvez utiliser next méthode next ou prev .

.next( [selector] ) : Récupère le frère immédiatement suivant de chaque élément de l’ensemble des éléments correspondants. Si un sélecteur est fourni, il récupère le frère suivant uniquement s’il correspond à ce sélecteur.

.prev( [selector] ) : .prev( [selector] ) le frère immédiatement précédent de chaque élément de l’ensemble des éléments correspondants, éventuellement filtré par un sélecteur.

 $('.container button').on('click', function(e) { e.preventDefault(); var txt = $('p.important').text(); $(this).next('p').append(txt); }); 

Essayez la méthode la plus proche . Il faut faire le tour!

 $("button").click(function(){ $(this).closest('p'); }) 

Vous pouvez utiliser l’une des méthodes suivantes, selon vos besoins:

  • Next () – parcourant l’arborescence du dom
  • Closest () – Parcourir l’arbre du dom