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