多个类上的jQuery选择器

时间:2012-06-14 00:13:34

标签: javascript jquery jquery-selectors

这会找到id,但不会删除类

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

可能因为元素看起来像

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

该元素的类名是partialClassNameFull还是partialClassNameHalf我需要将其删除。

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

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

但那不起作用。

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

2 个答案:

答案 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');