如何通过jquery更改元素的类名

Nis*_*mar 54 jquery

<div class="bestAnswerControl">
    <div id="ct100_contentplaceholder_lvanswer_control_divbestanswer"  
         class="IsBestAnswer"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想补充一下:

.bestanswer
{
    // some attribute
}
Run Code Online (Sandbox Code Playgroud)

我想用jquery 替换class="IsBestAnswer"div class="bestanswer".我该怎么做呢?

我正在使用这种方法:

$('.IsBestAnswer').addclass('bestanswer'); 
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

Nik*_*bak 133

$('.IsBestAnswer').addClass('bestanswer').removeClass('IsBestAnswer');
Run Code Online (Sandbox Code Playgroud)

方法名称中的大小写很重要,所以没有addclass.

jQuery addClass()
jQueryremoveClass()

  • 如果你没有参数调用它,它将从元素中删除所有类:例如$('#IsBestAnswer').removeClass().addClass('bestanswer'). (12认同)

Tim*_*Tim 44

而不是removeClass和addClass,你也可以这样做:

$('.IsBestAnswer').toggleClass('IsBestAnswer bestanswer');
Run Code Online (Sandbox Code Playgroud)


jen*_*ram 13

$('.IsBestAnswer').removeClass('IsBestAnswer').addClass('bestanswer');
Run Code Online (Sandbox Code Playgroud)

您的代码有两个问题:

  1. 选择器.IsBestAnswe与您的想法不符
  2. addClass(),不是addclass().

另外,我不确定您是要替换类还是添加它.以上将替换,但删除.removeClass('IsBestAnswer')仅添加的部分:

$('.IsBestAnswer').addClass('bestanswer');
Run Code Online (Sandbox Code Playgroud)

您应该决定是否在CSS类中使用camelCase或全小写(例如bestAnswervs. bestanswer).