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

Ste*_*nie 0 jquery

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

<ul>
   <li>Happy People</li>
   <li>Sad People</li>
   <li>Angry People</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

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

Fab*_*tté 5

$('li').each(function() {
    $(this).text( $(this).text().replace(' People', '') );
});?
Run Code Online (Sandbox Code Playgroud)

小提琴


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

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

$(this).html( $(this).html().replace(' People', '') );
Run Code Online (Sandbox Code Playgroud)

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

$(this).text( $(this).text().replace(/ People$/, '') );
Run Code Online (Sandbox Code Playgroud)

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

$(this).text( $(this).text().replace(/ People$/i, '') );
Run Code Online (Sandbox Code Playgroud)

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