我有两个无序列表。我想从第一个中删除第二个列表中不存在的项目。
像这样:
<ul class="first">
<li><a href="#">One</a></li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
<li><a href="#">Four</a></li>
<li><a href="#">Five</a></li>
<li><a href="#">Six</a></li>
</ul>
<ul class="second">
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
</ul>
...运行脚本......应该是这样的:
<ul class="first">
<li><a href="#">One</a></li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
<li><a href="#">Four</a></li>
</ul>
我的问题与此处发布的问题完全相同 - jquery Remove items from list 1 not in list 2
...但是,我似乎无法使用我的代码(它什么都不做)。
这是我试过的:
$('.first li a').filter(
function(){
return !$('.second li').length;
}).remove();
使用其他代码,我已经能够删除重复项。但是,我遇到了相反的问题。我确定我忽略了一些简单的东西,我很欣赏第二组眼睛向我指出问题是什么。
答案 0 :(得分:4)
$('.first li').filter(function(){
return ! $('.second li:contains('+$(this).text()+')').length;
}).remove();