HTML

<div class="ativo37 and many other classes"></div>
<div class="another classes here with ativo1"></div>
<div class="here ativo9 and more two or three"></div>

JS
$("div[class^='ativo']").on("click", function(){
    $(this).removeClass("^='ativo'"); // How to achieve it?
});

我可以代替.removeClass("^='ativo'");怎么办?

JSFiddle

最佳答案

.removeClass()接受一个用于删除类的函数,并接受索引和旧的CSS值:



您可以删除以所需名称开头的类名称,并使用以下方法保留现有名称:

$("div[class*='ativo']").removeClass (function (index, css) {
   return (css.match (/(^|\s)ativo\S+/g) || []).join(' ');
});

Working Demo

09-25 17:51