1

我有两个无序列表。我想从第一个列表中删除第二个列表中不存在的项目。

像这样:

<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();

使用其他代码,我已经能够删除重复项。但是,我在做相反的事情时遇到了问题。我确定我忽略了一些简单的事情,如果有第二双眼睛向我指出问题所在,我将不胜感激。

4

1 回答 1

4
$('.first li').filter(function(){
    return ! $('.second li:contains('+$(this).text()+')').length;
}).remove();
于 2013-03-28T16:36:04.007 回答