jQuery 在更改之前获取 href 初始值一次

发布于 2024-10-28 00:17:03 字数 754 浏览 1 评论 0原文

在我的应用程序中,我有一个 ajax 调用,成功后它会将一些数据附加到现有的链接 href 中。

这很好用。问题是,如果我想再次运行 ajax 调用并在成功时附加一些不同的数据,它会采用 href 值 + 前一个 ajax 调用中的新值,然后添加新数据。

我希望它在附加数据之前将数据添加到初始 href 值中。

下面是我的代码: (出于测试目的,我每次都会附加示例样本值)

        //get next page link value, so we can add filter to url
    var next_link = $("a.next").attr("href");

$.ajax({
        type: "POST",
        url: "ajax_calls.php",
        data: "instrument="+selected.val()+"&filter=true",
        success: function(listing){$("#listings").html(listing);

$("a.next").attr("href", next_link + '&field=x');

},
        error: function(){alert(3);$("#error").text("Could not retrieve posts").fadeIn(300).delay(900).fadeOut(300)}
    });

对此的任何帮助将不胜感激。 谢谢

In my application I have an ajax call, and on success it appends some data to an existing links href.

This works great. The issue is, If I want to run the ajax call again and on success, append some different data, it is taking the href value + the new value from the previous ajax call, and than adding the new data after that.

I want it to add the data to the inital href value, before it was appended.

Below is my code:
(I have the sample sample value being appended each time for testing purposes)

        //get next page link value, so we can add filter to url
    var next_link = $("a.next").attr("href");

$.ajax({
        type: "POST",
        url: "ajax_calls.php",
        data: "instrument="+selected.val()+"&filter=true",
        success: function(listing){$("#listings").html(listing);

$("a.next").attr("href", next_link + '&field=x');

},
        error: function(){alert(3);$("#error").text("Could not retrieve posts").fadeIn(300).delay(900).fadeOut(300)}
    });

Any help on this would be appreciated.
Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只是在用心讲痛 2024-11-04 00:17:03

使用 jQuery 的 .data 方法怎么样?

$('#change').click(function(){
    var newData = Math.random() * 1000; // fake new data
    $('a').each(function(i,e){
        var oldHref = $(this).data('oldHref');
        if (!oldHref){
            var oldHref = $(this).attr('href');
            $(this).data('oldHref',oldHref);
        }
        $(this).attr('href',oldHref + '#' + newData);
    });
});

<a href="http://google.com">Hello, world!</a><br />
<input type="button" id="change" value="Change HREF" />

示例

将旧值存储在数据元素中,然后在每个新值之前引用改变。

How about using jQuery's .data method?

$('#change').click(function(){
    var newData = Math.random() * 1000; // fake new data
    $('a').each(function(i,e){
        var oldHref = $(this).data('oldHref');
        if (!oldHref){
            var oldHref = $(this).attr('href');
            $(this).data('oldHref',oldHref);
        }
        $(this).attr('href',oldHref + '#' + newData);
    });
});

<a href="http://google.com">Hello, world!</a><br />
<input type="button" id="change" value="Change HREF" />

example

Store the old value in a data element, then reference before each new change.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文