【问题标题】:AJAX request, getting href attribute for multiple links with same classAJAX请求,获取具有相同类的多个链接的href属性
【发布时间】:2012-10-28 02:52:42
【问题描述】:

我正在编写一段 jQuery,如果点击了 .ajaxLink,则将其 URL 应用到 ajax 调用中,如下所示:

$(".ajaxLink").click(function (e) {
    e.preventDefault();
    removePreviousData(); // removes any div that might be loaded in #content
    jQuery.ajax({
        type: 'GET',
        url: $(this).attr('href'),
        success: function (data, textStatus) {
            $(data).appendTo('#content');
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {},
        complete: function (XMLHttpRequest, textStatus) {
            loadedData() // applies some relative animations for loaded content
        }
    });
    return false;
});

这适用于我单击的第一个链接,但由于我在同一页面上有多个使用此类的链接,因此当我单击第二个链接时,它只会加载相同的数据。我如何让它应用于每个 .ajaxLink(假设 .each(),但不能让它运行)。

谢谢!

【问题讨论】:

  • 你使用的是this,所以它应该得到点击的锚点的href属性,问题可能是别的!
  • 你的代码是working for me

标签: javascript jquery ajax


【解决方案1】:

如果您希望 #content 仅显示单击链接的 href 内容,则必须替换 #content 的内容而不是附加到它。

    success: function (data, textStatus) {
        $('#content').html(data);
    },

【讨论】:

  • 抱歉,我的问题不完整。我实际上是在调用ajax 之前删除#content 中先前加载的数据。问题已更新。
  • @apttap loadedData() 做了什么
  • loadedData() 应用一些 css 类来运行一些动画并更新 url。相关代码已更新。
  • 这不是正确的答案,但您是正确的。数据没有被完全删除,因为有多个 div 正在加载,我没有看到一些被删除,而另一些则保留。很抱歉造成混乱,感谢您的回答。
猜你喜欢
  • 1970-01-01
  • 2014-10-21
  • 1970-01-01
  • 2016-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多