需要选中所有复选框并为每个复选框动态添加特定事件处理程序

鉴于页面中的以下重复标记:

//stuff to toggle
//stuff to toggle

如何获取所有复选框,然后在每个复选框的事件处理程序中动态添加切换到关联的div?

 $(document).ready(function() { $('input:checkbox').each( function() { $(this).bind('click", function() { //Attach toggle() to associate DIV //$('#div1').toggle(); }); }); }); 

有没有一种简单的方法可以做到这一点,而无需解析或假设有序的ID列表?

  • 使用change事件,因为这真的是你关心的
  • 使用.live()使您只绑定1个侦听器,而不是每个复选框1个
  • 使用DOM遍历查找

     $(function () { $('input:checkbox').live('change', function () { $(this).next().toggle(); }); }); 

您不需要each()bind()

 $('input:checkbox').click(function (event) { //... using $(this) });