Selezione di più classi con jQuery
-
20-08-2019 - |
Domanda
I & # 8217; ho avuto un bell'aspetto e non posso & # 8217; t sembra scoprire come selezionare tutti gli elementi corrispondenti a determinate classi in un'istruzione del selettore jQuery come questa:
$('.myClass', '.myOtherClass').removeClass('theclass');
Qualche idea su come raggiungere questo obiettivo? L'unica altra opzione è fare
$('.myClass').removeClass('theclass');
$('.myOtherClass').removeClass('theclass');
Ma io & # 8217; lo sto facendo con alcune classi, quindi richiede molto codice.
Soluzione
Questo dovrebbe funzionare:
$('.myClass, .myOtherClass').removeClass('theclass');
Devi aggiungere tutti i selettori multipli nel primo argomento a $ (), altrimenti stai dando a jQuery un contesto in cui cercare, che non è quello che vuoi.
È lo stesso che faresti nei CSS.
Altri suggerimenti
Hai provato questo?
$('.myClass, .myOtherClass').removeClass('theclass');
Uso $('.myClass.myOtherClass').removeClass('theclass');
// Due to this Code ): Syntax problem.
$('.myClass', '.myOtherClass').removeClass('theclass');
Secondo la documentazione di jQuery: https://api.jquery.com/multiple-selector/
Quando è possibile selezionare più classi in questo modo:
jQuery(“selector1, selector2, selectorN”) // double Commas. // IS valid.
jQuery('selector1, selector2, selectorN') // single Commas. // Is valid.
racchiudendo tutti i selettori in una sola '...' 'o doppia virgola, " ... "
Quindi nel tuo caso il modo corretto di chiamare più classi è:
$('.myClass', '.myOtherClass').removeClass('theclass'); // your Code // Invalid.
$('.myClass , .myOtherClass').removeClass('theclass'); // Correct Code // Is valid.