0

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?

4 Answers 4

5

You could do this:

removeClass().addClass('status') 

Another option:

removeClass(function(i, c) { return c.replace('status', ''); });

Sign up to request clarification or add additional context in comments.

Comments

5

or a bit faster

$('.status').attr('class','status');

will overwrite the class attribute of every element to hold only the 'status' value

Comments

2
if ($('a').hasClass("status")) {
   $('a').removeClass().addClass("status") 
} else {
   $('a').removeClass()
}

Comments

1

If you just want the status class to remain on all links you could do:

$("a").attr("class", "status");

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.