从基于数组项的DOM元素中删除 - Javascript

时间:2015-09-28 21:38:31

标签: javascript jquery html dom

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

1 个答案:

答案 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/