基于数组项从DOM元素中删除-Javascript
我在JS中有一个数组,可以循环使用。我有5个LI,根据该数组的内容(最多只能包含5个项目),它会显示这些LI。我想编辑我的函数,这样它也可以从DOM中删除LI HTML-(我将这些默认设置为显示:无”基于数组项从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
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();
});