在jQuery中获取发件人

esq*_*qew 33 javascript jquery

我有一个大的复选框列表,所有复选框都具有唯一id值.我想获得id执行我的JavaScript函数的复选框.我可以这样做$(this)吗?

And*_*ore 54

您可以使用获取事件的目标event.target.

$('input:checkbox[id]').change(function(event) {
  var checkboxID = $(event.target).attr('id');
  alert(checkboxID);
});
Run Code Online (Sandbox Code Playgroud)

JSfiddle演示

  • 在我的情况下 - 使用chrome和safari上的按钮元素仅使用带有$(this)的版本.所以小心使用$(event.target) (2认同)

rsp*_*rsp 15

如果this指向您的复选框,那么您将获得使用的ID$(this).attr('id')

例如:

$('input:checkbox').click(function(){
    var id = $(this).attr('id');
    // do something with id
});
Run Code Online (Sandbox Code Playgroud)

DEMO.

  • @Andrew:在jQuery`this`中的事件处理程序**总是**指向处理程序绑定的DOM元素.请参阅[文档](http://api.jquery.com/bind/#event-handlers).此外,`event.target`可以是处理程序绑定的元素或该元素的**后代**,因此它们不等效.请参阅[文档](http://api.jquery.com/event.target/). (2认同)