2012-09-25 89 views
0

我有一个问题,在html链接中添加一个js变量,我相信我有语法错误,因为它不会将变量的内容添加到链接字符串中。链接中的html语法的Javascript

这里是我尝试:

href="http://www.facebook.com/sharer.php?u='+url+'"> 

在哪里,我要去我错在这里?

+0

什么时候应该执行js(字符串连接)?什么是url变量? – Bergi

回答

2

这是不可能的:)。 你必须这样做的JavaScript一路,如:

href="javascript: document.location='http://www.facebook.com/sharer.php?u=' + url;" 
0

您正在试图把HTML就好像它是JavaScript的。你不能跳入和跳出两种语言。

如果要修改现有链接,则需要使用DOM操纵。这是W3C承载的introduction to JavaScript的一部分。

0

你不能那样做。您将需要使用JavaScript这样的:

... <head>标签内...

<script type="text/javascript"> 
window.onload = function() { 
    document.getElementById('myLink').href = "http://www.facebook.com/sharer.php?u="+url; 
} 
</script> 

... <body>标签内...

<a id="myLink" /> 
0

你需要外的字符串,以协调您的网址。

在这种情况下,您的字符串是使用双引号创建的,但是您试图通过使用单引号分隔字符串。

我在这里假设HTML是一个Javascript变量,它可能不是:

var href = "http://www.facebook.com/sharer.php?u=" + url + ">"; 
0
document.ready(function(){ 
    var url = "yahoo.com" ; 
    $("#linkid").setAttribute("href",url) ; 
}) ; 

当浏览器加载的所有元素,document.ready执行设置的href属性的方法你的锚标签。

所以,你有一个锚标记,像这样:

<a id="linkid"/> 

$("#linkid")得到锚标记元素,而的setAttribute( “HREF”,URL)将设置链接到您的href属性。 希望它是有道理的。

+0

如果你解释了为什么你的代码片段回答了这个问题,那会更好。只发布一大段代码并不是那么有用。 –

+0

@MartijnPieters好的,我会的。完成,希望是有道理的。 –

0

我不认为你可以在像这样的href里添加一个javascript变量。试试这个:

<a href="javascript:void(0);" onclick="window.location.href = 'http://www.facebook.com/sharer.php?u=' + url">Foo</a>