2017-05-10 1 views
2

Je travaille sur le projet MVC5, là je crée dynamiquement l'attribut <a></a> avec le bouton Supprimer.Comment puis-je supprimer des éléments de div?

jQuery,

$("#divbindProjectlist").append('<a href="#" class="list-group-item projectList" ><span class="project-name">' + json.ProjectName + '</span><i class="pull-right close-p">x</i><input type="hidden" class="hidprojectId" value="' + json.idPartnerProject + '" /></a>');
<div id="divbindProjectlist" class="left-top-p"> 
 
    <a class="list-group-item active left-menu-head">Projects List</a> 
 
    <a href="#" class="list-group-item projectList"><span class="project-name">Test1</span><i class="pull-right close-p">x</i><input type="hidden" class="hidprojectId" value="0.48063279870308406"></a> 
 
    <a href="#" class="list-group-item projectList"><span class="project-name">test2</span><i class="pull-right close-p">x</i><input type="hidden" class="hidprojectId" value="0.15416046484845514"></a> 
 
</div>

Ici, Comment puis-je supprimer le chaque attribut <a></a> par rapport à cliquer sur le bouton supprimer?

S'il vous plaît aidez-moi ...

+0

Je pense que vous vouliez dire " tag" pas d'attribut. –

Répondre

0
$(document).ready(function (e) { 
     $("i.close-p").click(function() {    
      $(this).parent("a").remove(); 
     }); 
    }); 

De cette façon, le problème peut être résolu

+0

corrigé Merci beaucoup. –

0

Il peut y avoir quelque chose comme ça

$("#divbindProjectlist").find('a.projectList').click(function(){ this.remove(); }); 

Cela ajoutera un gestionnaire d'événements de clic pour les balises quand on clique dessus, ils seront enlevés du dom. Attention de ne pas enregistrer plusieurs auditeurs d'événements si (comme je pense que vous ajoutez dynamiquement plus de 1 fois)

Pour ne pas attacher plusieurs écouteurs, vous pouvez le faire comme ça

var addingTag = $('<a href="#" class="list-group-item projectList" ><span class="project-name">' + json.ProjectName + '</span><i class="pull-right close-p">x</i><input type="hidden" class="hidprojectId" value="' + json.idPartnerProject + '" /></a>'); 
$("#divbindProjectlist").append(addingTag); 
addingTag.click(function(){ this.remove(); }); 

Le code ci-dessus va créer un un tag et l'ajouter à votre div et il va joindre un événement pour tag ajouté uniquement via sa référence.

+0

Oui, j'ajoute plus que des éléments à cette div 'divbindProjectlist'. –

+0

mais j'ai déjà défini l'événement click comme 'jQuery (document) .on ("click", ".projectList", fonction (e) {' pour lier certains contrôles html près de div 'divbindProjectlist', puis Comment puis-je –

+0

J'ai édité mon code pour vos besoins Dans les événements JS doivent être attachés "après" Les éléments ont été créés Les événements attachés avant cela n'affecteront pas les éléments nouvellement créés –

0
$("#divbindProjectlist").on("click", "a", function() { 
      $(this).remove(); 
     }) 

résoud ce problème

+0

comment puis-je supprimer le lorsque vous cliquez sur x ce bouton - c'est en fait j'ai besoin –