如何使用$(this)来引用on回调函数中的子节点

时间:2013-05-12 14:58:08

标签: jquery

您使用什么选择器来引用on函数中的子项?样品如下。

$("#parent").on("click", $(this).find(".child"), function() {
    console.log($(this));
});

控制台中引用的$(this)是父级。我该如何选择孩子?注意:父母下的很多孩子,我只想在点击孩子时获得$(this)

2 个答案:

答案 0 :(得分:1)

正确的方法是:

$("#parent").on("click", ".child", function () {
    console.log($(this))  // this here refers to '.child' being clicked.
});

来自.on() API Documentation

  

<强>选择

     

类型:字符串

     

用于过滤所选元素后代的选择器字符串   这将调用处理程序。如果选择器为null或省略,则   处理程序在到达所选元素时始终被调用。

答案 1 :(得分:0)

您可以在子节点上注册处理程序,而不是在父节点上注册处理程序:

$("#parent").children(".child").on("click", function() {
    // fires when any child of #parent is clicked; $(this) will be the child node clicked
});