Is it possible to remove all classes of an element that are not equal to a certain string,
for example, if I have the following HTML
<a href="" class="status pending"></a>
<a href="" class="status successful"></a>
<a href="" class="status unsuccessful"></a>
Could I remove all the classes that are not equal to status?
Is it possible to remove all classes of an element that are not equal to a certain string,
for example, if I have the following HTML
<a href="" class="status pending"></a>
<a href="" class="status successful"></a>
<a href="" class="status unsuccessful"></a>
Could I remove all the classes that are not equal to status?
Share Improve this question edited Jan 26, 2011 at 22:37 Šime Vidas 186k65 gold badges288 silver badges391 bronze badges asked Jan 26, 2011 at 22:26 sea_1987sea_1987 2,95412 gold badges46 silver badges69 bronze badges4 Answers
Reset to default 5You could do this:
removeClass().addClass('status')
Another option:
removeClass(function(i, c) { return c.replace('status', ''); });
or a bit faster
$('.status').attr('class','status');
will overwrite the class attribute of every element to hold only the 'status' value
if ($('a').hasClass("status")) {
$('a').removeClass().addClass("status")
} else {
$('a').removeClass()
}
If you just want the status class to remain on all links you could do:
$("a").attr("class", "status");