2013-04-03 66 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>