jquery同时设置多个div的click事件?

我的页面是有两个div控件分别是

<div id="test-1000"></div>
<div id="test-1111"></div>

针对上面单个的div点击时间的jquery源码是:

$('#test-1000').click(function(){});

但是怎么样用一个类似上面的语句实现两个div的点击事件都能监控到,并且,怎么区分是哪个div的点击事件?

阅读 49.4k
6 个回答
$('div[id^="test-"]').click(function(){});

获取所有 idtest- 开头的 div 元素。

如果在 callback 裡會使用到 id 值的話,或許可以考慮這樣

HTML:

<div class="test" data-id="1000"></div>
<div class="test" data-id="1111"></div>

JavaScript:

$(document).
  on('click', '.test', function() {
    var id = $(this).data('id');
  });
$('div[id^="test-"]').click(function(){
  console.log('clicked div:', this);
});

获取所有 idtest- 开头的 div 元素,并在点击时打印出被点击的 HTMLElement。要获得 jQuery 对象,用 $(this)

<div id="test-1000" class="foo"></div>
<div id="test-1111" class="foo"></div>

$('.foo').click(function(){
    console.log('clicked div:', $(this).attr("id"));
});
$('#test-1000,#test-1111').click(function(){});

像这样也行,用逗号列出需要设置click的元素

$("#{$GET['autopenbox']}{$GET['cid']}").trigger("click");
$("#{$GET['autopenbox']}{$GET['cid']}").trigger("click");
$("#{$GET['autopenbox']}{$GET['cid']}").trigger("click");

这样, 爱点多少点多少

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进