0

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

这是我的代码:

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

我试过这个,但是每次点击el它都会重置,我怎样才能防止它重置?

4

3 回答 3

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(", "));
});
于 2013-06-23T17:21:04.883 回答
2

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

el=[];
$('div.kim2bb').on('click', function(){
    el.push($(this).attr('id'));
    console.log(el);
});
于 2013-06-23T17:22:24.010 回答
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( "," ) );
});
于 2013-06-23T18:23:18.047 回答