0

考虑以下代码:

$('#main').on('click', 'a', function() {
    console.log($(this));
});

$(this)将始终对应于#main元素而不是<a>单击。我怎样才能得到<a>被点击的?

谢谢!

编辑:

抱歉,你们似乎是对的:http: //jsfiddle.net/R2rJU/1/

我的问题是我将第二个选择器的结果保存到一个变量中,使其无法用作选择器。

4

3 回答 3

1

this<a>标签的点击处理程序。所以你做对了

如果要显式使用,则可以使用event.target Event.Target

 $("#main").html("clicked: " + event.target.nodeName);
于 2013-06-16T14:21:02.803 回答
0

不,你似乎误会了什么。this将始终引用单击事件处理程序中被单击的 DOM 元素。

于 2013-06-16T14:19:52.327 回答
-1
$('#main').on('click', 'a', function() {
    console.log($('#main :selected').text());
});
于 2013-06-16T15:14:26.630 回答