如何在jquery中存储数据

如何在jquery中存储数据,jquery,events,Jquery,Events,我想收集已单击的div的每个id,然后将该值分配给var 这是我的密码: $('div.kim2bb').on('click', function(){ var el = el + ', ' + $(this).attr('id'); alert(el); }); 我尝试了这个方法,但每次单击el它被重置时,如何防止它重置?将el的初始声明移到单击事件之外: var el = ''; $('div.kim2bb').on('click', function(){ el

我想收集已单击的
div
的每个id,然后将该值分配给
var

这是我的密码:

$('div.kim2bb').on('click', function(){
    var el = el + ', ' + $(this).attr('id');
    alert(el);
});

我尝试了这个方法,但每次单击
el
它被重置时,如何防止它重置?

el
的初始声明移到单击事件之外:

var el = '';
$('div.kim2bb').on('click', function(){
    el += ', ' + $(this).attr('id');
    alert(el);
});
这会导致变量位于另一个作用域中

您应该改用数组:

var el = [];
$('div.kim2bb').on('click', function(){
    el.push( $(this).attr('id') );
    alert(el.join(", "));
});

把它放在一个数组中。使以后更容易使用。(我的意见)


前面给出的答案的进一步迭代是测试之前是否添加了一个项目

var ids=[];

$('div.kim2bb').on( 'click', function(){
    var id = $(this).attr("id");

    // if id has not been added before
    if( ids.indexOf( id ) == -1 ) {
        ids.push( id );
    }
    console.log( ids.join( "," ) );
});

最后一行是表达我的愤怒。我尝试了10多次上传这篇文章,但没有合理的理由,失败了。所以不要把它当回事你怎么称呼+=东西?因为我知道我的问题的答案看起来像那个样,但我找不到任何合适的名字在谷歌上搜索它,你们称之为连接或附加@阿德内奥:当然,你完全正确。我只是想先向他展示一下他的方法。我添加了他的代码的数组版本。
var ids=[];

$('div.kim2bb').on( 'click', function(){
    var id = $(this).attr("id");

    // if id has not been added before
    if( ids.indexOf( id ) == -1 ) {
        ids.push( id );
    }
    console.log( ids.join( "," ) );
});