Adicionar e remover várias classes no jQuery

135

Estou tentando adicionar e remover várias classes em um campo de texto clicando em botões de opção diferentes. Não consigo remover as classes indesejadas enquanto alterno entre diferentes botões de opção.

Meu código para isso é:

// 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]]");
}
Raman
fonte

Respostas:

273

Você pode separar várias classes com o espaço:

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

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

Headshota
fonte
1
Eu encontrei uma solução para isso, toda vez que eu uso .removeClass () apenas e não há necessidade de escrever nenhum nome de classe em removeClass para remover todas as classes adicionadas e adicionar qualquer classe por opção. Sim, está funcionando ...!
Raman
3
Usar .removeClass () [sem parâmetros] remove todas as classes do objeto jQuery.
Ahmet
8

Adicione várias classes:

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

ou em cascata:

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

Muito semelhante também para remover mais classes:

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

ou em cascata:

$("p").removeClass("class1").removeClass("class2").removeClass("class3");
Andrea_dev
fonte
então, o que você deseja remover de uma classe de várias $("p")?
whisk
no meu exemplo, refiro-me a todos os parágrafos da página, mas é apenas um exemplo. Você pode identificar um item específico com um ID ou outra classe.
Andrea_dev 18/06/19
0

maneira mais fácil de acrescentar o nome da classe usando javascript. Pode ser útil quando .siblings()estiver se comportando mal.

document.getElementById('myId').className += ' active';
argoden
fonte
5
Esta resposta não é relevante para a pergunta, que pediu explicitamente o jQuery.
cyberbit
1
E você deve usar o classList de qualquer maneira