使用jQuery更新href中的查询字符串值

时间:2011-09-21 06:33:35

标签: jquery query-string

我有3个具有不同结构的href,并且它们都具有相同的硬编码参数(在此示例中值= somevalue-abc)。

如何更新链接并使用新值覆盖值?

的jQuery

$(document).ready(function () {

    $('a').click(function () {

        var $newValue = 'newvalue';

        //here a function that overwrites the parameter 'somevalue-abc' with $newValue

    });

});

HTML

<a class="demo" href="http://www.mydomain.com/page.aspx?demo&value=somevalue-abc">link 1</a>
<a class="real" href="http://www.mydomain.com/?value=somevalue-abc#go=yes">link 2</a>
<a class="outgoing" href="http://www.mydomain.com/page.aspx?value=somevalue-abc">link 3</a>

2 个答案:

答案 0 :(得分:8)

尝试:

$(document).ready(function () {
    $('a').click(function () {
        var $newValue = 'newvalue';
        $(this).attr('href',$(this).attr('href').replace('somevalue-abc', $newValue));
    });
});

答案 1 :(得分:5)

$('a').click(function() {
  var newValue = 'newvalue'; // pls don't use a $ on variables that aren't jquery objects
  var src = $(this).attr('href');
  $(this).attr('href', src.replace(/somevalue\-abc/, newvalue));
});