Reputation: 2003
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]]");
}
Upvotes: 180
Views: 213064
Reputation: 4926
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>
Upvotes: 3
Reputation: 969
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");
Upvotes: 23
Reputation: 21449
You can separate multiple classes with the space:
$("p").addClass("myClass yourClass");
http://api.jquery.com/addClass/
Upvotes: 353
Reputation: 927
easiest way to append class name using javascript.
It can be useful when .siblings()
are misbehaving.
document.getElementById('myId').className += ' active';
Upvotes: -1