这就是我想要做的事情:
我有一个具有相同类的div列表,每次我点击其中一个div我想将相应div的ID存储在一个数组中,如:
datainput()
我想要完成的是在同一个div上的任何其他点击推送/拼接数组中的匹配ID。按ID推送/拼接切换我猜...
在数组中推送div ID不是问题,但是删除它们似乎有点问题,因为我只能清除整个数组。
如何在数组中循环以查找匹配的ID并在点击时切换它?
谢谢!
答案 0 :(得分:1)
正如我的OP评论中所述,更简单的方法是使用Hash
而不是简单的数组。这样做,您可以在点击时添加{ID: 'on'}
,然后更新ID并在再次点击时设置为“关闭”。这样,您不必从阵列中删除任何项目 - 只需更新其状态即可。
例如:
var hash = {};
$("divID").on("click", function(){
var id = $(this).attr("id");
// Turns it on
hash[id] = 'on'; // 'on' or true
// Alternatively, turn it off
hash[id] = 'off'; // 'off' or false
// You can also check its status
// if (hash[id] == 'on')...
});
答案 1 :(得分:0)
更新:关于原始方法:
我在这里找到了添加/删除数组值的原始方法的答案(参考):
这是代码:
var index= jQuery.inArray(theValue, theArray);
//If you're not using any other Javascript library that utilizes the $ sign, you can use the $ sign
//instead of the jQuery namespace
var index= $.inArray(theValue, theArray);
if(index== -1)
{
//Value not found in the array. Add to the end of the array with push();
theArray.push(theValue);
}
else
{
//Remove from the array using splice(). Splice takes the index value of where you want to start
//removing items from the array as the first parameter, and then the number of item you want
//to remove as the second parameter.
theArray.splice(index,1);
}
也为我工作,我希望它会帮助别人。