使用onclick事件更改链接

时间:2014-04-25 18:01:28

标签: jquery hyperlink href

我试图找出是否有办法使其成为当有人点击链接(在新窗口中打开)时,它会在每次后续点击时更改链接地址。例如,如果有人点击了超链接1,则会在第一次转贴时将它们转到page1.html,第二次转到第二页的page2.html。

我试图使用jquery和anchorobject.href来解决这个问题,但是我对jquery并不是很精通,也不知道如何从中取得进展。

非常感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:1)

声明一个包含类似链接列表的数组,并在点击时设置新的href。

var links = new Array('first.html','second.html','third.html');
var i = 0;
$(document).ready(function(){
    $('#myhref').attr('href',links[i]);
    $('#myhref').click(function(){
        //do something like open window.
        if(i+1 in links)
        {
            i++;
        }
        $(this).attr('href',links[i]);
    });
});

示例:

<a href="#" id="myhref">Click here</a> 

在iframe中打开:

<a href="#" id="myhref" target="myiframe_name">Click here</a> 

在AJAX中使用:

var links = new Array('first.html','second.html','third.html');
var i = 0;
$(document).ready(function(){
    $('#myhref').attr('href',links[i]);
    $('#myhref').click(function(){
        $("#mydialog").load($(this).attr('href'))
        if(i+1 in links)
        {
            i++;
        }
        $(this).attr('href',links[i]);
        return false;
    });
});

演示jsfiddle:DEMO

答案 1 :(得分:0)

$("#link-id").click(function(e){
   var oldlink = $(this).attr("href");
   var newlink = doSomethingWith(oldlink);
   $(this).attr("href",newlink);
});

希望它有所帮助!