jQuery - regexp selecting und removeClass ()?

8

Ich habe mehrere automatisch generierte HTML-Dokumente erhalten, die Tausende von Zeilen lang sind, und ich muss die Quelle aufräumen. Meistens müssen Klassennamen wie "table-col - ##" entfernt werden. Dies ist ein zweistufiges Problem:

  1. Wählen Sie alle Klassen aus, für die table-col - ## gilt, wobei ## für eine ganze Zahl zwischen 0-999
  2. steht
  3. Entfernen Sie die passende Klasse aus dem Element, ohne eine der anderen Klassen zu entfernen

Also läuft es auf: Ich brauche einen Weg, wenn möglich, regexps in $ () Selektoren zu verwenden, und dann entweder die ausgewählte Klasse in jedem () zu erhalten - oder den regexp auf $ .removeClass () anzuwenden. Kann mir jemand in die richtige Richtung zeigen?

UPDATE : Gibt es irgendeine Art von $ .removeClass ([selected]) Funktionalität? Das scheint der einfachste Weg zu sein, den zweiten Teil zu lösen.

    
CodeMoose 25.03.2013, 14:55
quelle

6 Antworten

19

Wenn nur Zahlen akzeptabel sind, aber es auch andere Zeichen geben kann, würde ich mit so etwas beginnen (nicht getestet, aber mit Hilfe von Kommentaren bearbeitet):

%Vor%     
Jakub Michálek 25.03.2013, 15:10
quelle
4

Sie können dies tun, ohne die Klassennamen in ein Array aufteilen zu müssen. Lassen Sie den regulären Ausdruck die ganze Arbeit machen.

Entfernen Sie für jedes gefundene Element alle Klassen, die dem regulären Ausdruck entsprechen.

%Vor%
    
user1958881 01.09.2015 16:41
quelle
1

Probieren Sie es aus:

Ссылка

JS: -

%Vor%

Beispiel HTML: -

%Vor%

Ausgabe HTML: -

%Vor%     
Aditya Singh 25.03.2013 15:32
quelle
1

Versuchen Sie Folgendes:

%Vor%

Live: Ссылка

    
neiker 27.02.2014 17:16
quelle
0

probiere

aus %Vor%

siehe Ссылка und Ссылка

bearbeitet:

%Vor%     
Alex Pacurar 25.03.2013 15:03
quelle
0

Diese Frage ist jetzt alt, aber wenn jemand darüber stolpert ...

Ich habe ein einfaches Plugin jquery.classMatch erstellt, das

bereitstellt %Vor%     
ronen 30.04.2014 21:59
quelle

Tags und Links