how to change class name of an element by jquery
JqueryJquery Problem Overview
<div class="bestAnswerControl">
<div id="ct100_contentplaceholder_lvanswer_control_divbestanswer"
class="IsBestAnswer"></div>
</div>
I want to add:
.bestanswer
{
// some attribute
}
I want to replace class="IsBestAnswer"
of div to class="bestanswer"
by jquery.
How do I do this?
I am using this approach:
$('.IsBestAnswer').addclass('bestanswer');
but it's not working.
Jquery Solutions
Solution 1 - Jquery
$('.IsBestAnswer').addClass('bestanswer').removeClass('IsBestAnswer');
Case in method names is important, so no addclass
.
Solution 2 - Jquery
Instead of removeClass and addClass, you can also do it like this:
$('.IsBestAnswer').toggleClass('IsBestAnswer bestanswer');
Solution 3 - Jquery
$('.IsBestAnswer').removeClass('IsBestAnswer').addClass('bestanswer');
Your code has two problems:
- The selector
.IsBestAnswe
does not match what you thought - It's
addClass()
, notaddclass()
.
Also, I'm not sure whether you want to replace the class or add it. The above will replace, but remove the .removeClass('IsBestAnswer')
part to add only:
$('.IsBestAnswer').addClass('bestanswer');
You should decide whether to use camelCase or all-lowercase in your CSS classes too (e.g. bestAnswer
vs. bestanswer
).