从 .attr 获取变量名称



我有 2 个块

<div data-array="array1" class="div-to-click">DIVtoClick</div>
<div class="div-to-append"></div>

并有一个数组

array1 = [ 1, 2, 3, 4, 5 ];

我可以以某种方式从 onclick 中获取变量名称.attr('data-array')并执行类似操作

array1.forEach(function( elem ){
    $('div-to-append').append( '<div class="number">'+elem+'</div>' );
}); 

将其附加到对象。不建议全球化,因为全球环境正在受到污染。所以制作你自己的对象和

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>' );
   }); 
});

您可以将数组定义为对象的属性,然后使用括号表示法来检索它们。像这样:

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>');
    }); 
});

最新更新