使用jQuery从无序列表中的每个元素中删除字符串?

时间:2012-10-16 00:30:13

标签: jquery

我有一个这样的无序列表:

<ul>
   <li>Happy People</li>
   <li>Sad People</li>
   <li>Angry People</li>
</ul>

而且我想删除“人物”,包括该词之前的空格。我将如何在jQuery中执行此操作?

1 个答案:

答案 0 :(得分:5)

$('li').each(function() {
    $(this).text( $(this).text().replace(' People', '') );
});​

Fiddle


此外,对于更复杂的用例:

如果列表项中有标记,请使用.html()代替.text() :( fiddle

$(this).html( $(this).html().replace(' People', '') );

如果您想保证“人物”只会在字符串的末尾匹配:(fiddle

$(this).text( $(this).text().replace(/ People$/, '') );

如果您需要不区分大小写的匹配项,请将i标记添加到正则表达式:(fiddle

$(this).text( $(this).text().replace(/ People$/i, '') );

以上所有内容都为您的极简主义示例提供了相同的输出。