How to change HTML link's href property dynamically

10,293

Solution 1

$(".tabs").click(function() {
   $(this).attr("href","newhref.com");
});

UPDATE


you can get attribute value like this,

$(this).attr("href")  //will return '#educationDetails'

so you can check that value like this,

$(".tabs").click(function() {
  if ($(this).attr("href") == "#tab1")
      $(this).attr("href","#tab2");
  else if ($(this).attr("href") == "#tab2")
      $(this).attr("href","#tab1");
});

UPDATE-2


If you just want to change #tab1 to #tab2, not reverse. you can also do it like this way,

$('a.tabs[href="#tab1"]')​.click(function() {
    $(this).attr("href","#tab2");​
})​;​

Solution 2

$("a.tabs").click(function() {
    this.href = 'newhref';
    return false;
});

It is more efficient this way compared to @ocanal solution.

Source:

http://net.tutsplus.com/tutorials/javascript-ajax/14-helpful-jquery-tricks-notes-and-best-practices/

Share:
10,293
user1211185
Author by

user1211185

Updated on June 05, 2022

Comments

  • user1211185
    user1211185 almost 2 years

    Hi I have a HTML link on my MVC3 View.

    I want to change its href property each time user clicks it.

    <a class="tabs" href="#educationDetails">
    <input id="SubmitBtn" type="submit" value="Next" />
    </a>
    

    Is there any way to solve this issue.

    Many Thanks