我正在寻找一种方便的方法来使用 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>
最佳答案
我相信这就是你想要的。它查找类名中包含 child_
的每个元素,然后仅删除那些包含 child_
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]);
}
}
});
关于jquery - 在 jQuery 选择器中使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5317058/