Ho ricevuto diversi documenti HTML generati automaticamente con migliaia di righe e ho bisogno di ripulire il codice sorgente. Principalmente è necessario rimuovere nomi di classi come "table-col - ##". Questo è un problema in due fasi:jQuery - regexp selezionando e removeClass()?
- Selezionare eventuali e tutte le classi che hanno tavolo-col - ##, dove ## è un numero intero tra 0-999
- Rimuovere la classe corrispondente dall'elemento senza rimozione di qualsiasi delle altre classi
Così tutto si riduce a: ho bisogno di un modo, se possibile, di utilizzare espressioni regolari in $() selettori, e poi o per ottenere la classe selezionata in ciascuno() - o applicare il regexp a $ .removeClass(). Qualcuno può indicarmi la giusta direzione?
UPDATE: Esiste qualche tipo di funzionalità $ .removeClass ([selezionata])? Sembra il modo più semplice per risolvere la seconda parte.
Sarebbe ' "[class =^'table-col -']"' essere accettabile o è che troppo generico? –
Sfortunatamente troppo generico: ci sono classi come table-col-new e table-col-bold che devono essere preservate. – CodeMoose
dopo aver trovato gli elementi con il selettore @Jakub Michálek suggerito, puoi fare .each (function (el) {el.className = el.className.replace (/ table-col- \ d {1,3} /, "") ;}) – Tommi