Javascript jQuery:从无序列表中获取单击的锚点

Javascript jQuery:从无序列表中获取单击的锚点,javascript,jquery,html,Javascript,Jquery,Html,我有这个标记(简化): 我真正想要的是单击的锚对象,而不是锚的目标 如果这是可能的,我该怎么做 它必须是列表中的锚,但函数也必须处理对其他dom元素的单击。$('.targets li a.info')。单击(函数(e){ $('.targets li a.info').click(function(e) { alert(this); // alerts the anchor DOM object itself alert(e.target); // alerts "ja

我有这个标记(简化):

我真正想要的是单击的锚对象,而不是锚的目标

如果这是可能的,我该怎么做

它必须是列表中的锚,但函数也必须处理对其他dom元素的单击。

$('.targets li a.info')。单击(函数(e){
$('.targets li a.info').click(function(e) {
    alert(this);     // alerts the anchor DOM object itself
    alert(e.target); // alerts "javascript:void(0);" <- this *should* do the same
});
警报(this);//警报锚DOM对象本身 警报(e.target);//警报“javascript:void(0);”
$('.targets li a.info')。单击(函数(e){
警报(this);//警报锚DOM对象本身

alert(e.target);//alerts“javascript:void(0);”它没有做你认为它在做的事情;
e.target
肯定是你的
元素。尝试将其更改为
alert(e.target.className)
向自己证明。

它没有做你认为它在做的事情;
e.target
绝对是你的
元素。尝试将其更改为
警报(e.target.className)
向自己证明

$('.targets li a').click(function(e) {
    alert(this.attr('href'));
});
关键字“this”作为对当前元素的jQuery引用


关键字“this”作为jQuery对手头元素的引用,我认为您的混淆来自
e.target
toString是
href
属性,例如:

$('.targets').click(function(e) {
  alert(e.target.nodeName); // alerts "A"
  $(e.target).fadeOut();    //this would fade out the anchor you clicked on
})​;
e.target
是您已经拥有的,您只需访问您感兴趣的任何属性即可。否则,当您提醒它时,默认情况下它会显示
href
属性


我认为您的困惑来自
e.target
toString是
href
属性,例如:

$('.targets').click(function(e) {
  alert(e.target.nodeName); // alerts "A"
  $(e.target).fadeOut();    //this would fade out the anchor you clicked on
})​;
e.target
是您已经拥有的,您只需访问您感兴趣的任何属性即可。否则,当您提醒它时,默认情况下它会显示
href
属性


忘了提及,它还必须与锚点以外的其他元素一起工作。可能吗?@Mickel:当然,它可以与您绑定函数的任何元素一起工作。如图所示,不要与
e.target
一起工作,直接使用
。忘了提及,它还必须与锚点以外的其他元素一起工作。是否可能ble?@Mickel:当然,它可以与您绑定函数的任何元素一起使用。如图所示,不要使用
e.target
,而是直接使用
this
$('.targets').click(function(e) {
  alert(e.target.nodeName); // alerts "A"
  $(e.target).fadeOut();    //this would fade out the anchor you clicked on
})​;