1

这会找到 id 但不会删除类

$('[id^=paritalIDname]').removeClass('[class^=partialClassName]');

可能是因为元素看起来像

<div id="partialIDname-full" class="something someone partialClassNameFull">

元素的类名是partialClassNameFull还是partialClassNameHalf我需要删除它。

我想我可以在类选择器中使用通配符,比如

removeClass('[class^=partialClassName*]');

但这不起作用。

什么是好的解决方案?(谢谢。)

4

2 回答 2

1

This will handle all partial match.

        $("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;
                }
            }
        });
于 2012-06-14T01:18:13.150 回答
0

您需要明确删除这两个类:

$('[id^=partialIDname]').removeClass('partialClassNameFull').removeClass('partialClassNameHalf');

因为 .removeClass() 仅适用于完整的类名匹配。如果其中一个类名不存在,则不会发生任何事情 - 当您尝试 .removeClass() 不存在的类时不会引发错误。

您还可以按照评论中的建议尝试以下简短版本:

$('[id^=partialIDname]').removeClass('partialClassNameFull partialClassNameHalf');
于 2012-06-14T00:39:37.943 回答