2 votes

JQuery suppression de mauvais li

J'ai le balisage suivant :

           test

           Fichiers joints

Lorsque je clique sur le lien js-delete-file, je veux supprimer immédiatement le li dans lequel se trouve ce lien.

Le code jQuery suivant supprime plutôt le li avec la classe "media-post". Comment puis-je supprimer le li dans lequel se trouve le lien?

(".js-delete-file").click(function (e) {
    var a = $(this); // "this" est le 

     a.parents("li").fadeOut(function () {
            $(this).remove();
     });
});

3voto

DelightedD0D Points 801

Utilisez closest() pour :

obtenir le premier élément qui correspond au sélecteur en testant l'élément lui-même et en remontant à travers ses ancêtres dans l'arbre DOM.

$(".js-delete-file").click(function (e) {
    var a = $(this); // "this" est le 

     a.closest("li").fadeOut(function () {
            $(this).remove();
     });
}); 

Tandis que .parents() est utilisé pour :

Obtenir les ancêtres de chaque élément dans l'ensemble actuel d'éléments correspondants, éventuellement filtrés par un sélecteur.


Vous pourriez également utiliser parent() au singulier dans ce cas particulier également.

Étant donné un objet jQuery qui représente un ensemble d'éléments DOM, la méthode parent() accède au parent immédiat de chacun de ces éléments dans l'arbre DOM et construit un nouvel objet jQuery à partir des éléments correspondants.

0voto

Sushant Kumar Points 1
$(".js-delete-file").click(function (e) {
    var a = $(this).parent('li'); // "this" est le 

     a.fadeOut(function () {
            $(this).remove();
     });
}); 

`*

 test 

 Fichiers joints 

  *     [_Supprimer_](# "Supprimer")`

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