我有两个街区
<div data-array="array1" class="div-to-click">DIVtoClick</div>
<div class="div-to-append"></div>
并有一个数组
array1 = [ 1, 2, 3, 4, 5 ];
我可以以某种方式从.attr('data-array')
onclick获取变量名称并执行类似
array1.forEach(function( elem ){
$('div-to-append').append( '<div class="number">'+elem+'</div>' );
});
答案 0 :(得分:2)
将其附加到对象。由于全球环境受到污染,因此不建议全球化。所以制作你自己的对象和
var myObj = {
array1 = [ 1, 2, 3, 4, 5 ],
//...
}
然后你可以使用括号表示法。
$('.div-to-click').click(function(){
myObj[$(this).data("array")].forEach(function( elem ){
$('div-to-append').append('<div class="number">' + elem + '</div>' );
});
});
答案 1 :(得分:2)
您可以将数组定义为对象的属性,然后使用括号表示法来检索它们。像这样:
var obj = {
array1: [ 1, 2, 3, 4, 5 ],
array2: [ 6, 7, 8, 9, 10 ]
}
$('.div-to-click').click(function() {
$.each(obj[$(this).data('array')], function(i, item){
$('div-to-append').append('<div class="number">' + item + '</div>');
});
});