jQuery - regexp-Auswahl und removeClass()?

Ich habe schon mehrere auto-generierten HTML-docs, die Tausende von Zeilen lang, und ich brauche, um aufzuräumen die Quelle. Meist entfernen müssen und Klassennamen wie "table-col-##". Dies ist ein zwei-Schritt-problem:

  1. Wählen Sie eine beliebige und alle Klassen, die table-col -## ein, wobei ## eine Zahl zwischen 0-999
  2. Entfernen Sie die passende Klasse aus dem element zu entfernen, ohne eine der anderen Klassen

So, auf die es hinausläuft: ich brauche einen Weg, wenn möglich, zu verwenden regexps in der $ () - Selektoren, und dann entweder die zum erreichen der ausgewählten Klasse in jeder() - oder gelten die regexp zu $.removeClass(). Kann jemand mich in die richtige Richtung?

UPDATE: gibt es irgendeine Art von $.removeClass([Auswahl]) - Funktionalität? Das scheint die einfachste Möglichkeit zur Lösung des zweiten Teils.

  • Würde "[class^='table-col-']" akzeptabel sein, oder ist das zu allgemein?
  • Leider zu allgemein - es gibt Klassen wie table-col-neue und table-col-Fett, die bewahrt werden müssen.
  • nachdem Sie die gefundenen Elemente mit dem Selektor @Jakub Michálek vorgeschlagen, die Sie tun können .each(function(el) { el.className = el.className.replace(/table-col-\d{1,3}/, ""); })
InformationsquelleAutor CodeMoose | 2013-03-25
Schreibe einen Kommentar