如何在jquery中存储数据

时间:2013-06-23 17:19:19

标签: jquery events

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

这是我的代码:

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

我尝试了这个,但每次点击el重置时,我该如何阻止它重置?

3 个答案:

答案 0 :(得分:5)

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(", "));
});

答案 1 :(得分:2)

将其保存在一个数组中。使以后更容易使用。 (我的意见)

el=[];
$('div.kim2bb').on('click', function(){
    el.push($(this).attr('id'));
    console.log(el);
});

答案 2 :(得分:0)

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

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( "," ) );
});