2009-12-22 43 views
-3

我有以下代码,使用jQuery编写:如何用变量值替换链接的href属性的一部分?

var strval = '22' 
$("#quicknote").attr("href", 
    "javascript:location.href=/'http://site.com/notes/add?projects=/'+ strval") 

这导致以下属性:

<a href="javascript:location.href='http://site.com/notes/add?projects='+'strval'" 
    id="quicknote"> 

但是,我想要的是:

<a href="javascript:location.href='http://site.com/notes/add?projects='+'22'" 
    id="quicknote"> 

任何jQuery向导都知道我怎么可能达到这个结果?

回答

6

尝试:

var strval = "22"; 
$("#quicknote").attr("href", 
"javascript:location.href='http://site.com/notes/add?projects=" + strval + "'"); 

注意位置和行情的类型。

在一个侧面说明,我不完全知道你为什么会不要这样做,而不是:

var strval = "22"; 
$("#quicknote").attr("href", 
    "http://site.com/notes/add?projects=" + strval + "'"); 

即在孤单的例子中,没有必要的JavaScript。

最后,由于您使用的是jQuery,所以我不会把Javascript放在这样的href中。相反,添加click()处理程序:

$("#quicknote").click(function() { 
    window.location = "http://site.com/notes/add?projects=22"; 
    return false; 
}); 
+1

做得好。谢谢! – AnApprentice 2009-12-22 03:55:54

-2

jQuery的向导告诉你,这是可能的,但它只是无关jQuery的,那你的回答是:

你的报价错误!

而且我没有理由投票给我,因为我以非常非常非常专业的方式回答了最初的问题。