【发布时间】:2020-07-22 22:03:06
【问题描述】:
我有这个
$(".picker").click(function(e) {
var imgID = $(this).attr("data-imgID");
$('body').addClass('picker-' + imgID);
});
<span class="taPicker" data-imgID="0"></span>
<span class="taPicker" data-imgID="1"></span>
<span class="taPicker" data-imgID="2"></span>
我想在 body 元素上的通用类之间切换,例如,如果您单击 .picker,我想根据 data-imgID 属性向 body 元素添加一个唯一类
但是,我怎样才能防止重复呢?例如,如果您单击另一个 .picker 我想删除以前的类并添加一个新的
【问题讨论】:
-
使用带有部分选择器的删除类函数,以便在添加新类之前删除所有以
picker-开头的类。见stackoverflow.com/questions/41832255/… -
这能回答你的问题吗? jQuery removeClass wildcard
-
@GillesC 不要认为您可以在
.removeClass中使用通配符 - 您提供的链接是针对选择器的,而不是 removeClass 的参数 - 但是您可以使用此处所示的函数:jQuery removeClass wildcard(所以原理一样) -
@freedomn-m 是的,不能使用通配符,超过 10 年没有使用 jQuery,所以应该先检查文档。但它也不仅仅是函数,它也可以将类列表作为字符串或数组。
标签: javascript jquery