Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于数组项从DOM元素中删除-Javascript_Javascript_Jquery_Html_Dom - Fatal编程技术网

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

基于数组项从DOM元素中删除-Javascript,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我在JS中有一个数组,可以循环使用。我有5个LI,根据该数组的内容(最多只能包含5个项目),它会显示这些LI。我想编辑我的函数,这样它也可以从DOM中删除LI HTML-(我将这些默认设置为显示:无” JS var basketArray=[“li-1”、“li-2”、“li-3”、“li-4”、“li-5”]; 对于(变量i=0;i

我在JS中有一个数组,可以循环使用。我有5个LI,根据该数组的内容(最多只能包含5个项目),它会显示这些LI。我想编辑我的函数,这样它也可以从DOM中删除LI

HTML-(我将这些默认设置为显示:无”

JS

var basketArray=[“li-1”、“li-2”、“li-3”、“li-4”、“li-5”];
对于(变量i=0;i<$basketArray.length;i++){
变量id=$basketArray[i];
$('#'+id).fadeIn();
}
如何编辑上述内容,例如在basketArray中,只有li-2和li-3、li-1、li-4和li-5从DOM中删除。basketArray会在刷新时更改

谢谢你的帮助


D

循环您的LIs,并使用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();
});
var basketArray=[“li-1”、“li-3”、“li-4”、“li-5”];
jQuery('ul li')。每个(函数(){
if(basketArray.indexOf(jQuery(this.attr('id')))<0)
jQuery(this.remove();
});
这是一把小提琴:

看看jquery的
remove
detach
方法我会的,谢谢你的评论-我了解remove方法,但是我不知道如何将它合并到我的for循环中。我不明白你想如何区分你想要保留的li和你想要删除的li。这真的取决于在您想要的行为中,基本上是什么逻辑决定了哪些元素应该被删除或不被删除?同样,对于循环,您不需要这样做。稍微进行一点字符串操作就会将其转换为1行。
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();
}
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();
});