Add and remove multiple classes in jQuery

JavascriptJquery

Javascript Problem Overview


I'm trying to add and remove multiple classes on a text field by clicking different radio buttons. I'm not able to remove the unwanted classes while switching between different radio buttons.

My code for this is:

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

Javascript Solutions


Solution 1 - Javascript

You can separate multiple classes with the space:

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

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

Solution 2 - Javascript

Add multiple classes:

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

or in cascade:

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

Very similar also to remove more classes:

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

or in cascade:

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

Solution 3 - Javascript

> TL;DR
> > $("p").removeClass('one four').addClass("three one"); > > // FYI: Order of addClass & removeClass can be changed too & chaining is also possible, e.g > $("p").addClass("three one").removeClass('one four').addClass('class1 class2 class3');`

More Working examples & details.

// handle button click & add/remove classes
$("#myBtn").click(function() {

  $("#myPara").addClass("three four").removeClass('two three');

  // again show the classes applied after we addede/remove multiple classes
  $("#container").text($("#myPara").attr("class"));
});

.one {
  color: red;
}

.two {
  text-decoration: underline;
}

.three {
  font-style: bold;
}

.four {
  font-style: italic;
}

<p id="myPara" class="one two three">hello world</p>

<p> Classes applied: <b><span id='container'>one two three</span></b></p>

<button id="myBtn">Click Me</button>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

Solution 4 - Javascript

easiest way to append class name using javascript. It can be useful when .siblings() are misbehaving.

document.getElementById('myId').className += ' active';

Solution 5 - Javascript

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionRamanView Question on Stackoverflow
Solution 1 - JavascriptHeadshotaView Answer on Stackoverflow
Solution 2 - JavascriptPraisView Answer on Stackoverflow
Solution 3 - JavascriptJunaidView Answer on Stackoverflow
Solution 4 - JavascriptargodenView Answer on Stackoverflow
Solution 5 - JavascriptDr BaliView Answer on Stackoverflow