2013-04-03 32 views
-5

我正在使用follwing javascript。但输出是文本。我想在链接中输出。我想在链接中使用javascript vars

<script type="text/JavaScript"> 

    _url = document.location 

    _picurl = "danny.jpg" 

    _title = "Your Title Here" 

    _desc = "Your Description Here" 

_fbshare ="http://fbshare.mobie.in/l" 

    document.write(_fbshare + "?" + "site=" + _url + "&Pic=" + _picurl + "&Title=" + _title + "&Ds=" + _desc) 

</script> 

我想在链接中使用document.write(_fbshare + "?" + "site=" + _url + "&Pic=" + _picurl + "&Title=" + _title + "&Ds=" + _desc)但不知道。

+0

分号是不可选。但是,似乎是什么问题呢? –

+0

这是太简单了还是您需要提供更多信息? – Manu

+0

@RobertKoritnik - 是的,[他们是](http://www.ecma-international.org/ecma-262/5.1/#sec-7.9)(尽管使用分号插入被认为是一个坏主意)。 – Quentin

回答

1

而不是一些凌乱document.write使用更清洁的方法,并选择或创建锚,并相应地设置它的属性。

此外,您不能通过document.write修改已有的元素,您必须从dom中选择它,然后操作它的属性。

正确的方法是,例如,如果你在你的HTML有链接已经:

<a id="link" href=""></a> 

您的脚本:

var a = document.getElementById("link"); // or another equivalent method 
a.innerHTML = 'linktext'; 
a.href = "#somelink"; 

,或者如果该链接不存在:

var a = document.createElement("a"); 
a.innerHTML = 'linktext'; 
a.href = "#somelink"; 
// insert into the document 
document.body.appendChild(a); 

See the example

+1

我会用document.getElementsByTagName(“a”)[0]'替换'document.querySelector(“a”);''。 – Blender

+0

@Blender除了ID选择器之外,我总是比其他方法更喜欢'querySelector [All]'。我想这只是一个品味问题,这个例子并不重要。 – Christoph

0

添加您希望您的链接出现以下元素:

<span id='mySpan'></span> 

下面的代码可以把这个元素中你的链接:

<script language='javascript'> 
_url = document.location;  
_picurl = "danny.jpg";  
_title = "Your Title Here"; 
_desc = "Your Description Here";  
_fbshare ="http://fbshare.mobie.in/l"; 
_linkTitle = "Link"; 

document.getElementById('mySpan').innerHTML="<a href='"+_fbshare + "?" + "site=" + _url + "&Pic=" + _picurl + "&Title=" + _title + "&Ds=" + _desc+"'>"+_linkTitle+"</a>"; 
</script>