2013-07-17 4 views
1

J'essaie de supprimer toutes les classes correspondantes en cours d'exécution each() fonction.jQuery - supprimer toutes les classes correspondantes

Je sélectionne la classe correspondante comme [class*="ui-id-"]. Mais mon code ci-dessous jquery ne fonctionnera pas:

Mon code buggy:

jQuery('#builder [class*="ui-id-"]').each(function(){ 
    jQuery(this).removeClass('[class*="ui-id-"]'); 
}); 

S'il vous plaît corriger mon code pour qu'il puisse enlever toute la classe correspondant ui-id-

+0

@DavidThomas l'OP est utilise chaque 'sur un sélecteur identifiant '#builder' –

+0

@mck oui cela fonctionnait, précédemment j'ai essayé cela mais je ne sais pas pourquoi cela n'a pas fonctionné. – user007

+0

s'il vous plaît telll moi la pleine forme de OP – user007

Répondre

3

Essayez cette façon:

$('#builder [class*="ui-id-"]').removeClass(function(i, j) { 
      return j.match(/ui-id-/g).join(" "); 
}); 

doit supprimer toutes les classes correspondantes.

+0

veuillez lire à nouveau la question – user007

+0

Edited answer. S'il vous plaît vérifier – loxxy

+0

oui, il fonctionne – user007

1

vous n'avez pas besoin chaque boucle ici

essayer

jQuery('[class*="ui-id-"]').removeClass('[class*="ui-id-"]'); 

i enlevé le #builder, il sera facile de trouver la bonne réponse si vous vous postez lié code html trop

+0

classes sont toujours là, je l'ai essayé à partir de la console, mais pas d'utilisation – user007

+1

post vous html ... – bipen

0

Essayez ceci:

jQuery('.ui-id-').removeClass('ui-id-'); 
+0

Avez-vous réellement testé cela? Cela me semble un peu faux. –

+0

Ci-dessus va fonctionner si 'classname' est identique, ne fonctionnera pas pour le modèle http://jsfiddle.net/manoj_admlab/NbqUg/1/ –

1
jQuery("#builder [class^='ui-id-']").removeClass(); 

Cela supprimera toutes les classes commence wiht ui-id- présent dans #builder

+0

non ça ne marchera pas – user007

2

Le plus simple serait malheureusement la grande voie, itérer tous les éléments:

jQuery('#builder').find('*').each(function() { 
    var classes = this.className.split(/\s+/); 

    $.each(classes, function(i, c) { 
     if (c.indexOf('ui-id-') === 0) { 
      $(this).removeClass(c); 
     } 
    } 
}); 
Questions connexes