在jQuery中使用AJAX加载链接后获取href值


Get href value after loading the link with AJAX in jQuery

我试图用AJAX更新数据库中的单个记录。一切都很好,但是当返回结果时,它看起来很好,但是如果再次单击a.update(对于返回的元素),我将打开href(因此第二次attr()由于某种原因不起作用)。我是jQuery和ajax的新手:)

    // Update Single Item   
$('li a.update').click(function () {
updateURL = $(this).attr("href");
$(this).attr("href", "#");
theContainer = $(this).parents('li');
    $.ajax({
    type: "GET",
    dataType: 'json',
    url: updateURL,
        async: false,
    success: function(data){
        theContainer.replaceWith(data.html).fadeIn(300);
    }
    });
    return false;
    });

注。List元素是用PHP生成的。当我请求单个<li>元素时,我使用完全相同的模板生成它(默认情况下,所有内容都使用foreach循环打印,之后AJAX请求返回带有<li>...</li>的JSON)

您可以使用live方法将事件监听器附加到所有匹配的元素,而不管它们是否已经在DOM中:

$('li a.update').live("click", function() {
    //Your code
});

您附加事件侦听器的方式将仅将其附加到DOM中当前的元素,并且当您通过AJAX添加新元素时,它们不会接收事件侦听器。