NicoF
NicoF

Reputation: 135

Update querystring value in href with jQuery

I have 3 href's that have a different structure and all of them have the same hard coded parameter (in this example value=somevalue-abc).

How can I update the link and overwrite the value with a new value?

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>

Upvotes: 3

Views: 5171

Answers (2)

ysrb
ysrb

Reputation: 6740

Try:

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

Upvotes: 8

Scott Evernden
Scott Evernden

Reputation: 39926

$('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));
});

Upvotes: 5

Related Questions