这会找到id,但不会删除类
$('[id^=paritalIDname]').removeClass('[class^=partialClassName]');
可能因为元素看起来像
<div id="partialIDname-full" class="something someone partialClassNameFull">
该元素的类名是partialClassNameFull
还是partialClassNameHalf
我需要将其删除。
我以为我可以在类选择器中使用通配符,比如
removeClass('[class^=partialClassName*]');
但那不起作用。
什么是好的解决方案? (感谢。)
答案 0 :(得分:1)
这将处理所有部分匹配。
$("div[id^=partialId]").each(function () {
var cls = $(this).attr("class").split(" ");
for (var i in cls) {
if (/partialClass/.test(cls[i])) {
$(this).removeClass(cls[i]);
break;
}
}
});
答案 1 :(得分:0)
您需要明确删除这两个类:
$('[id^=partialIDname]').removeClass('partialClassNameFull').removeClass('partialClassNameHalf');
因为.removeClass()仅适用于完整的类名匹配。如果其中一个类名不存在,那么什么都不会发生 - 当你尝试.removeClass()一个不存在的类时,不会抛出任何错误。
您还可以按照以下简短版本的评论中的建议进行试用:
$('[id^=partialIDname]').removeClass('partialClassNameFull partialClassNameHalf');