我有一个带有id="a"
的
,上面可能会有来自多个组的各种类。每个组都有一个特定的前缀。在javascript中,我不知道
上属于哪个组的类。我想能够清除所有具有给定前缀的类,然后添加一个新类。如果我想要删除以“bg”开头的所有类,我该怎么做?类似于这样,但实际上起作用的是什么:
```js
$("#a").removeClass(function(index, className) {
return (className.match(/\bbg\S+/g) || []).join(' ');
}).addClass("newClass");
```
$("#a").removeClass("bg*");
filter
中的匿名函数必须返回一个布尔值。这将起作用:`var classes = $(e).attr("class").split(" "); $(classes).each(function(i, item) { classes[i] = item.indexOf("prefix") === -1 ? item : "prefix-new"); });$(e).attr("class", classes.join(" "));`
- Tim$e.attr('class', $.map($e.attr('class').split(' '), function (klass) { return klass.indexOf(prefix) != 0 ? klass : undefined; }).join(' '));
- M MillerremoveClassPrefix("black");
,则class="blackRow blackText orangeFace blackHead"
将返回class=" orangeFace "
。我通过像这样修剪结果来解决这个问题:el.className = $.trim(classes.join(" "));
。 - Bird87 ZA