Javascript 从数组中删除项而不进行迭代
我已经阅读了一些文档,但我觉得有一种更简单的方法可以从数组中删除一个项,而无需使用迭代循环 更新的JSFIDLE:使用Javascript 从数组中删除项而不进行迭代,javascript,jquery,arrays,Javascript,Jquery,Arrays,我已经阅读了一些文档,但我觉得有一种更简单的方法可以从数组中删除一个项,而无需使用迭代循环 更新的JSFIDLE:使用not() 如下所示,使用从匹配元素集中删除元素: $myList.not('#1a').fadeOut(); 请注意,$myList不是一个数组,而是一个jQuery对象(即使它的行为类似于数组) 您也可以像下面这样重写代码: var $myList = $("#1a, #2a, #3a"); $("#1,#2,#3").on("click", function() {
not()
如下所示,使用从匹配元素集中删除元素:
$myList.not('#1a').fadeOut();
请注意,$myList
不是一个数组,而是一个jQuery对象(即使它的行为类似于数组)
您也可以像下面这样重写代码:
var $myList = $("#1a, #2a, #3a");
$("#1,#2,#3").on("click", function() {
$myList.not('#'+this.id+'a').fadeOut();
$('#'+this.id+'a').fadeIn("slow");
});
您可以这样使用
$("button").click(function(){
$("[id$=a]").hide();
$("#"+this.id+"a").show();
});
使用
$arrayName.splice(位置、元素数量)
javscript.splice()
.filter
是你的朋友。我甚至用splice()通读了一遍,但它没有点击。谢谢你,很抱歉问了一个愚蠢的问题:)@Sophisticake,因为.not()
就是为完成这项工作而设计的。而splice()
是数组的方法,而不是jQuery对象<代码>拼接()按位置等返回删除的元素。。。
var $myList = $("#1a, #2a, #3a");
$("#1,#2,#3").on("click", function() {
$myList.not('#'+this.id+'a').fadeOut();
$('#'+this.id+'a').fadeIn("slow");
});
$("button").click(function(){
$("[id$=a]").hide();
$("#"+this.id+"a").show();
});