jquery:检查多个列表中的重复项

Tim*_*ett 4 jquery duplicates

我有以下代码:

<ul id="listOne">
    <li>John</li>
    <li>James</li>
    <li>Mary</li>
</ul>

<ul id="listTwo">
    <li>John</li>
    <li>Mark</li>
    <li>Mary</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我想要做的是隐藏第二个列表中的任何对象,如果它们已经在第一个列表中.

谁能提出任何建议?

Jam*_*ice 5

可能会有更好的方法,但首先想到的是:

var firstList = [];
$("#listOne li").each(function() {
    firstList.push($(this).text());
});
$("#listTwo li").filter(function() {
    return firstList.indexOf($(this).text()) > -1;
}).remove();
Run Code Online (Sandbox Code Playgroud)

这是一个有效的例子.它构建第一个列表中项目文本的数组,然后过滤第二个列表中的项目以仅返回第一个列表中的项目,然后从DOM中删除匹配的项目.

  • 该死的,只是在打字的中间;) (2认同)