Javascript jQuery:从无序列表中获取单击的锚点
我有这个标记(简化): 我真正想要的是单击的锚对象,而不是锚的目标 如果这是可能的,我该怎么做 它必须是列表中的锚,但函数也必须处理对其他dom元素的单击。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
$('.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
});