我有一个类名的 div:.sel-display-on。单击时,我想使用 jquery 将其更改为 .sel-display-off。这可能吗?这个新类名的css属性会被应用吗?
$('.sel-display-on').click(function (e) {
e.stopPropagation();
// change class name to .sel-display-off
});
我有一个类名的 div:.sel-display-on。单击时,我想使用 jquery 将其更改为 .sel-display-off。这可能吗?这个新类名的css属性会被应用吗?
$('.sel-display-on').click(function (e) {
e.stopPropagation();
// change class name to .sel-display-off
});
$(this).removeClass('sel-display-on').addClass('sel-display-off');
或者,如果您确定此元素不会有任何其他类名(不是很好的做法,但可能更快):
$(this).attr('class', 'sel-display-off');
$(this).addClass('...');
或者
$(this).attr('class','...');
你可以这样做:
$('.sel-display-on').click(function (e) {
e.stopPropagation();
// change class name to .sel-display-off
$(this).removeClass('sel-display-on').addClass('sel-display-off');
});
您也可以使用 toggleClass 来做到这一点:
$('.sel-display-on').click(function (e) {
e.stopPropagation();
// change class name to .sel-display-off
$(this).toggleClass(function(){
if($(this).is('.sel-display-on'){
return "sel-display-off";
} else {
return "sel-display-on";
}
});
您所有问题的答案都是“是”
您可以根据需要使用addClass
、removeClass
、toggleClass
和attr('class', ...)
。
如果这e.stopPropagation
是在 a 上,则上述内容不是必需的div
,除非您要停止绑定到它的其他一些功能。
http://api.jquery.com/addClass/
http://api.jquery.com/removeClass/
是的,使用上面的两个函数来实现这一点。此外,新课程将立即应用。
另一个注意事项:删除类 .sel-display-on 后,您将无法再使用 .sel-display-on 选择该元素。