我想使用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
答案 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');
});
});