JQuery 根据 ASCII 内容删除 li

JQuery remove li based on ascii contents

本文关键字:删除 li 根据 ASCII JQuery      更新时间:2023-09-26

我正在动态地将列表项添加到 ul

<ul>
<li>thing 1</li>
<li>thing 2</li>
<li class='colorblock'>thing 3</li>
<li class='colorblock'>thing 4</li>
<li>thing 5</li>
</ul>

在某些情况下,我需要用以下内容附上一些 li

$('.colorblock:first').before('<li>[&plusmn; </li>');
$('.colorblock:last').append('<li>]</li>');

该产品如下

<ul>
<li>thing 1</li>
<li>thing 2</li>
<li>[± </li>
<li class='colorblock'>thing 3</li>
<li class='colorblock'>thing 4</li>
<li>]</li>
<li>thing 5</li>
</ul>

现在,如果我可能还需要删除这两个 li,如下所示

$('li').filter(function() { return $.text([this]) === '[&plusmn; '; }).remove();
$('li').filter(function() { return $.text([this]) === '[± '; }).remove();
$('li').filter(function() { return $.text([this]) === ']'; }).remove();

我的问题是这些都没有正确匹配

<li>[± </li>

我已经没有关于如何严格匹配和删除那个 li. 有什么建议吗?

尝试

$('li').filter(function(){
    var txt = $.trim($(this).text());
    return txt == '[±' || txt == ']'
}).remove()

演示:小提琴

原来是它所在的文件的编码问题,需要是 UTF-8