更改<a> Not working</a>的href

时间:2012-02-01 05:48:30

标签: php jquery hyperlink

我想使用jquery更改标签的href。

这是html代码:

<a href="exampleurl" id="a_theme"  onClick="return activate_theme();">Click</a>

这是jquery代码:

function activate_theme(){
  $("#a_theme")).attr("href", "new url");
}

显示错误:

activate_theme is not defined

3 个答案:

答案 0 :(得分:0)

您做错了,可能是因为activate_theme()是在onClick处理程序无法访问的范围内定义的。你还有一个语法错误(在jQuery调用中加倍)。)

只需用以下代码替换您的代码:

<a href="exampleurl" id="a_theme">Click</a>

并使用JavaScript:

$(function(){
    $("#a_theme").attr("href", "new url");
});

将在DOM准备就绪后立即执行,并将替换指定链接的href

请参阅此处的工作演示:http://jsfiddle.net/tadeck/mHtHc/

答案 1 :(得分:0)

第一种方式:

$(function(){
$("#a_theme").click(
    function(){
        $("#a_theme").attr("href", "new url");
    }
);
});

<a href="#" id="a_theme">Click</a>
第二种方式:

function activate_theme(){
    $("#a_theme").attr("href", "new url");
}


<a href="#" id="a_theme" onClick="activate_theme()">Click</a>

答案 2 :(得分:0)

try with this also:

$('#a_theme').click(function(){
 $(this).attr('href', 'new_url');
});

但如果你有一个同名的id,那么:

$('#a_theme').each(function(i, e){
    $(this).click(function(){
     //same url on all '#a_theme' on click
     $(this).attr('href', 'new_url');
    });
});