10
votes

jQuery supprimer le parent ne fonctionne pas sur des divs créés dynamiquement

im essayant d'utiliser jQuery afin de créer un bouton supprimer son parent div.

mon balisage: p>

$('#button_add_web_store').click(function() {
var num = $('.web_store_fields').length;
var newNum  = new Number(num + 1);      
var newElem = $('#web_store_input' + num).clone().attr('id', 'web_store_input' + newNum);
$('#web_store_input' + num).after(newElem);
});


0 commentaires

3 Réponses :


18
votes

Utilisez un gestionnaire délégué ( sur ) avec la classe comme sélecteur de manière à ce que de nouveaux boutons qui est ajouté plus tard fonctionnera toujours.

$('body').on('click', '.button_remove_web_store', function() {
    $(this).parents("div:first").remove();
});


2 commentaires

Merci beaucoup, ça marche! Je suis une jquery newbie et apparemment, il y a beaucoup je ne sais pas ..


"Live" a été obsolète à JQuery 1.7 et enlevé à JQuery 1.9 - Il ne faut plus utiliser.



3
votes

ne pas Utilisez un Live gestionnaire - il a été obsolète À JQuery 1.7 et enlevé dans JQuery 1.9 - Un changement de rupture pour un grand nombre de personnes.

Au lieu de cela, utilisez le sur gestionnaire, qui est la voie recommandée maintenant: < Pré> xxx


0 commentaires

0
votes

Je rencontrais récemment une question avec $ .on () ce qui n'est pas clair et très similaire à Cette application, comme la plupart des fonctions "Supprimer les parents" sont.

Pour illustrer l'exemple de cette question: xxx

La grosse capture ici est le deuxième paramètre. Vous devez sélectionner le conteneur $ ('. Container') et transmettez le sélecteur d'élément du "bouton" comme deuxième paramètre sur la fonction . donc une définition (de tri) xxx


0 commentaires