JQuery基于ascii内容删除li

时间:2013-09-27 12:36:13

标签: javascript jquery

我正在动态地将列表项添加到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>

在某些情况下,我需要附上以下

中的一些内容
$('.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的想法。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

尝试

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

演示:Fiddle

答案 1 :(得分:0)

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