我想收集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(", "));
});
把它放在一个数组中。方便以后使用。(我的意见)
el=[];
$('div.kim2bb').on('click', function(){
el.push($(this).attr('id'));
console.log(el);
});
之前给出的答案的进一步迭代是测试之前是否已添加项目
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( "," ) );
});