我有一个类似东西的清单
<ul>
<li>
<div class="pack1 active1"><span>$3.99</span></div>
</li>
<li>
<div class="pack2"><span>$5.99</span></div>
</li>
<li>
<div class="pack3 active3"><div id="ribbon"><span>40</span></div><span>$6.99</span></div>
</li>
<li>
<div class="pack4"><span>$10.99</span></div>
</li>
<li>
<div class="pack5"><span>$259.99</span></div>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我想在点击时删除所有活动的*类.我试图做一些类似$('*[class^="active"]').removeClass()但不起作用的事情
有帮助吗?
好的,我测试了它,即使有一个以上的"active-something"类分配给一个元素,这肯定有效:
$('[class*="active"]').removeClass(function(i, c) {
return c.match(/active\d+/g).join(" ");
});
Run Code Online (Sandbox Code Playgroud)
'i'是匹配元素的索引,'c'是匹配元素的class属性的值,因此您不需要再次"询问"它.$(""").removeClass()可以删除值指定的所有类,因此如果有多个"active-something"类分配给此元素,我们将返回从调用到匹配的所有类(使用正则表达式末尾的'g'选项)然后连接它,以便实际的removeClass函数可以相应地处理它.