我有以下代码:
<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>
我想要做的是隐藏第二个列表中的任何对象(如果它们已经在第一个列表中)。
有人可以提出任何建议吗?
答案 0 :(得分:5)
可能会有更好的方法,但这首先想到的是:
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中删除匹配的项目。 / p>
答案 1 :(得分:1)