Dodaj i usuń wiele klas w jQuery

135

Próbuję dodawać i usuwać wiele klas w polu tekstowym, klikając różne przyciski opcji. Nie mogę usunąć niechcianych klas podczas przełączania się między różnymi przyciskami opcji.

Mój kod to:

// For 1st radio button
if (actionUrl == "search-client-by-id") {
    $("#req").removeClass("validate[required,custom[onlyLetterNumber],maxSize[20],custom[onlyLetterSp]]")
             .addClass("validate[required,custom[onlyNumberSp]]");
}
// For 2nd radio button
else if (actionUrl == "search-client-by-name") {    
    $("#req").removeClass("validate[required,custom[onlyNumberSp]]")
             .addClass("validate[required,custom[onlyLetterNumber],maxSize[20],custom[onlyLetterSp]]");
}
Ramana
źródło

Odpowiedzi:

273

Możesz oddzielić wiele klas spacją:

$("p").addClass("myClass yourClass");

http://api.jquery.com/addClass/

Headshota
źródło
1
Znalazłem rozwiązanie tego problemu, za każdym razem, gdy używam tylko .removeClass () i nie ma potrzeby wpisywania nazwy klasy w removeClass, aby usunąć wszystkie dodane klasy i dodać dowolną klasę z wyboru. Tak, działa ...!
Raman,
3
Użycie .removeClass () [bez parametrów] usuwa wszystkie klasy obiektu jQuery.
Ahmet
8

Dodaj wiele zajęć:

$("p").addClass("class1 class2 class3");

lub kaskadowo:

$("p").addClass("class1").addClass("class2").addClass("class3");

Bardzo podobny również do usuwania większej liczby klas:

$("p").removeClass("class1 class2 class3");

lub kaskadowo:

$("p").removeClass("class1").removeClass("class2").removeClass("class3");
Andrea_dev
źródło
więc co chcesz usunąć z wielu zajęć $("p")?
trzepaczka
w moim przykładzie odwołuję się do wszystkich akapitów na stronie, ale to tylko przykład. Możesz zidentyfikować konkretny przedmiot za pomocą identyfikatora lub innej klasy.
Andrea_dev
0

najprostszy sposób na dołączenie nazwy klasy za pomocą javascript. Może być przydatne, gdy .siblings()źle się zachowujesz.

document.getElementById('myId').className += ' active';
argoden
źródło
5
Ta odpowiedź nie dotyczy pytania, które zadawano wprost w jQuery.
cyberbit
1
I mimo wszystko powinieneś użyć classList