1

2 つの順序付けられていないリストがあります。2 番目のリストにないアイテムを最初のリストから削除したい。

このような:

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

他のコードでは、重複を削除できました。しかし、私は逆に問題を抱えています。私は何か単純なものを見落としていると確信しています。問題が何であるかを指摘してくれる2番目の目をいただければ幸いです。

4

1 に答える 1

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