我有以下代码:

<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>

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

任何人都可以提出任何建议吗?

最佳答案

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

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

这是一个 working example 。它构建第一个列表中项目的文本数组,然后 filters 第二个列表的项目以仅返回那些也在第一个列表中的项目,然后从 DOM 中删除匹配的项目。

关于jquery:检查多个列表中的重复项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8240865/

10-10 21:18
查看更多