获取jQuery中通过Ajax动态加载的点击链接的HREF值

获取jQuery中通过Ajax动态加载的点击链接的HREF值,jquery,Jquery,这件事让我抓狂。我有一个div,当页面加载时,它的内容通过Ajax加载。div的内容是几个超链接。我正在尝试使用$(this.attr('HREF')获取单击链接的HREF值。但是,这总是返回“未定义”。我猜,由于超链接是通过Ajax动态加载的,jQuery无法返回HREF值。我已经检查了页面来源并确认所有超链接都带有有效的HREF链接 如何检索通过Ajax动态加载的超链接的HREF值?此代码是否在文档就绪块中? 您必须记住的是,您必须在DOM完全加载后添加到DOM的链接上使用.on(“单击”)

这件事让我抓狂。我有一个div,当页面加载时,它的内容通过Ajax加载。div的内容是几个超链接。我正在尝试使用
$(this.attr('HREF')
获取单击链接的HREF值。但是,这总是返回“未定义”。我猜,由于超链接是通过Ajax动态加载的,jQuery无法返回HREF值。我已经检查了页面来源并确认所有超链接都带有有效的HREF链接


如何检索通过Ajax动态加载的超链接的HREF值?

此代码是否在文档就绪块中?
您必须记住的是,您必须在DOM完全加载后添加到DOM的链接上使用
.on(“单击”)
。因为当您在document ready块中使用
.click()
时,它无法工作,因为此时甚至没有加载a元素,因为加载元素的ajax执行速度较慢,可能在DOM就绪后执行。 所以如果你喜欢

$('a').on("click",function(){
   alert($(this).attr('href'));
});
一切都应该适合你

请查看文档,以便更容易理解:


使用jQuery on绑定click函数

$('#container a').on('click', function(event) {
     alert($(this).attr('href'));
     return false;
});


从jQuery1.7开始,.live()方法已被弃用。

John上面的答案是可行的,但您犯的错误是没有遵循其背后的逻辑

我希望我所做的示例对您最终理解如何调用函数有意义

第一个例子是:

$('#container a').on('click', function(event) {
     alert($(this).attr('href'));
     return false;
});
查看:
功能(事件)
如果要使用
preventDefault()

您应该使用
event.preventDefault()

因为您调用了事件函数

您可以执行以下操作之一:

(一)

(二)

(三)

(四)

(五)

您应该使用
preventDefault()在函数中的任何其他内容之前


或者您当然可以只使用
返回false代码。

谢谢回复。无法对此进行测试。现在,单击链接可将浏览器转到链接页面。我添加了
e.preventDefault()以防止发生这种情况。但那不起作用。不,那也不起作用。浏览器仍然跟随链接。请确保没有任何javascript错误。使用firefox控制台进行检查。使用“Perist”模式,查看脚本中是否有错误。完全没有错误。也尝试了持久化模式。我想把头撞在桌子上。还有其他的建议吗?最终,我们可以使用.live`jQuery('.portfolio pagination a').live('click',function(e){e.preventDefault();alert(this.href);})`谢谢你的答复。无法对此进行测试。现在,单击链接可将浏览器转到链接页面。我添加了
e.preventDefault()以防止发生这种情况。但这不起作用。
$('#container a').on('click', function() {
     alert($(this).attr('href'));
     return false;
});
$('#container a').on('click', function(event) {
         event.preventDefault();
         alert($(this).attr('href'));

    });
$('#container a').on('click', function(IamWhatYouWantMeToBe) {
         IamWhatYouWantMeToBe.preventDefault();
         alert($(this).attr('href'));

    });
$('#container a').on('click', function() {
         preventDefault();
         alert($(this).attr('href'));
    });
$('#container a').on('click', function(e) {
             e.preventDefault();
             alert($(this).attr('href'));
        });