2009-12-25 27 views
2

J'ai donc 2 divs, chacun avec n-éléments. Il y a n paires d'éléments sur les 2 divs. Chaque paire utilise la même 'classe'.jquery 'remove class' - en essayant de supprimer tous les éléments avec une classe particulière

Est-il possible d'enlever une paire particulière à la fois? J'utilise actuellement le code suivant:

function leaveGroup(id) 
    { 

     var e = document.getElementById(id); 
     var f = $(e).parentNode; 

     // Remove everything with the same class name of the parent 
     $('body').removeClass($(f).className); 

    } 

La fonction ne fonctionne pas, est-ce que j'utilise incorrectement les noms de classe? Merci!

Répondre

2

Vous vous méprenez sur jQuery. La fonction removeClass supprime une classe d'un élément existant.

Vous voulez écrire:

var className = $('#' + id).parent().attr('class'); 
$('.' + className).remove(); 

Notez que cela ne fonctionnera pas si le nœud parent a plusieurs classes.

+1

ahhh, gotcha. Merci mec! – Matt

7
$('.el').remove() 
// would remove all elements with the 'el' className 

Je crois que c'est ce que vous voulez. removeClass supprime une classe. remove supprime l'élément.

0

Lorsque vous avez dit, supprimer vous voulez supprimer la classe d'élément? Si vous souhaitez supprimer l'élément, vous pouvez faire ceci:

div = document.getElementByClassName ('YourClass');

Maintenant, vous avez une collection de itens et maintenant vous pouvez supprimer l'élément que vous voulez, ex:

div .remove() [1];

si vous souhaitez supprimer à la fois

for (i in div) {i.remove(); }