我想知道是否可以通过点击记录数组元素的数量。 我喜欢数组中超过100个元素:
var cubesmixed = [];
var cubes;
for(var i = 0; i < 143; i++) {
cubes = paper.rect(Math.floor(Math.random()*2000), Math.floor(Math.random()*2000), 0, 0);
cubes.animate({ width: 25, height: 25 }, 500, "bounce");
cubesmixed.push(cubes);
}
这些都是svg-objects。如上所述,我希望得到该元素的数量。
$(this).click(function() { console.log(index of current element in cubes) });
提前感谢!
答案 0 :(得分:0)
尝试使用jQuery的$.inArray
()方法
var that = this;
$(this).click(function() {
var indexInArray = $.inArray(that, cubes);
console.log(indexInArray);
});
您将在数组中获得该元素位置的0索引,如果未找到匹配,则返回-1。
答案 1 :(得分:0)
每个数组都有一个length
属性,它返回该数组中元素的数量:
$(this).click(function() {
alert(cubes.length);
});
答案 2 :(得分:0)
不知道你的实际HTML是什么样的,或者你是如何构建你的数组的,下面的工作(虽然显然需要根据你自己的特定用例进行定制):
// creating an array of 'li' elements:
var lis = $('li').map(function(){
return this;
}).get();
// assigning a click-handler:
$('li').click(function(){
// using Array.indexOf() to return the index of the 'this' node from the array:
console.log(lis.indexOf(this));
});
并使用$.inArray()
(对于那些未实现Array.indexOf()
的浏览器):
$('li').click(function(){
console.log($.inArray(this, lis));
});
参考文献: