我正在寻找一种方便的方法来使用jQuery从匹配特定格式的对象中删除所有类。这似乎很适合Reg Ex,但我似乎无法在选择器中找到任何支持它们的jQuery文档。我认为StackOverflow会提供更快的解决方案。
鉴于下面的HTML,删除任何以“child_”开头的类最方便的方法是什么?
我不需要解决方案涉及Reg Ex,它只是看起来很自然的问题。任何干净的jQuery解决方案都可以。
<ul id="list">
<li class="child_1 child_12">Item 1</li>
<li class="child_4 child_6">Item 2</li>
<li class="child_3 child_1 stays_put">Item 3</li>
</ul>
编辑: 我应该澄清,目的是删除类,而不是元素。代码完成后,所有列表元素仍应存在,但删除了类。完成后,它应该是这样的。
<ul id="list">
<li class="">Item 1</li>
<li class=">Item 2</li>
<li class="stays_put">Item 3</li>
</ul>
答案 0 :(得分:3)
我相信这就是你想要的。它会在类名中找到child_
的每个元素,然后只删除那些带有child_
的 Live Demo 强> 的
var partial = /^child_/g;
$('[class*=child_]').each(function(){
var classes = $(this).attr('class').split(' ');
for(var i=0; i< classes.length;i++){
if(classes[i].match(partial)){
$(this).removeClass(classes[i]);
}
}
});