我在JS中有一个循环遍历的数组。我有5个LI,并且根据该数组的内容(它只能包含最多5个项目),它显示了那些LI。我想编辑我的函数,这样它也可以从DOM中删除LI。
HTML - (我默认将它们显示为display:none"
<ul>
<li id="li-1"></li>
<li id="li-2"></li>
<li id="li-3"></li>
<li id="li-4"></li>
<li id="li-5"></li>
</ul>
JS
var basketArray = ["li-1", "li-2", "li-3", "li-4", "li-5"];
for(var i = 0; i < $basketArray.length; i++) {
var id = $basketArray[i];
$('#'+id).fadeIn();
}
我如何编辑上面的内容,所以在basketArray中说只有li-2&amp; li-3,li-1,li-4&amp; li-5从DOM中删除。 basketArray刷新时更改。
感谢您的帮助。
d
答案 0 :(得分:2)
循环你的LI,并使用indexOf检查id是否不在数组中。
var basketArray = ["li-1", "li-3", "li-4", "li-5"];
jQuery('ul li').each( function() {
if( basketArray.indexOf( jQuery(this).attr('id') ) < 0)
jQuery(this).remove();
});
这是一个小提琴: https://jsfiddle.net/s847s4se/