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

时间:2011-03-29 19:48:40

标签: javascript jquery ajax append href

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

这很有效。问题是,如果我想再次运行ajax调用并成功添加一些不同的数据,它将从前一个ajax调用获取href值+新值,然后再添加新数据。

我希望它在附加之前将数据添加到初始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)}
    });

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

1 个答案:

答案 0 :(得分:1)

如何使用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" />

<强> example

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