0

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

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

我想删除“人”,包括单词前的空格。我将如何在 jQuery 中做到这一点?

4

1 回答 1

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

小提琴


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

如果列表项中有标记,请使用.html()而不是.text():(小提琴

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

如果你想保证 "People" 只会在字符串的末尾匹配:(小提琴

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

如果您想要不区分大小写的匹配,请将i标志添加到正则表达式:(小提琴

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

对于您的极简示例,以上所有内容都具有相同的输出。

于 2012-10-16T00:32:29.847 回答