2014-01-17 34 views
1

我有以下代碼:如何插入<script> HTML屬性爲A HREF HTML的URL的一部分屬性

<!DOCTYPE html> 
<html> 
<body> 
    <table border="1"> 
    <tr> 
    <td >row 2, cell 1</td> 
    <td style="white-space:nowrap;"><a href="http://aa.bb.cc/<script type="text/javascript"><!-- 
    var date = new Date(); 
    var d = date.getDate(); 
    var day = (d < 10) ? '0' + d : d; 
    var m = date.getMonth() + 1; 
    var month = (m < 10) ? '0' + m : m; 
    var yy = date.getYear(); 
    var year = (yy < 1000) ? yy + 1900 : yy; 
    document.write(year + month + day); 
    //--></script>> Click to check</a></td> 
    </tr> 
    </table> 
</body> 
</html> 

我要的是,當我按:點擊,瀏覽器應該轉到以下鏈接: http://aa.bb.cc/yyyymmdd

yymmmdd通過Javascript獲取並顯示當前年份,月份日期。

的Javasript工作,但我不能添加它的結果向href屬性的URL。

+2

壞!不要試圖用HTML元素嵌入Javascript。嘗試在Javascript中創建整個錨點元素,然後將其添加到您的頁面。 – Danny

+0

是的,腳本是一個元素,而不是屬性。如果它是一個屬性,你仍然不能把它放在另一個屬性中。報價也搞砸了。 –

回答

2

爲什麼不在你的JavaScript從HTML代碼中分離,通過將其加入head元素。然後,一旦文件加載onload調用該函數將其附加到您的鏈接href。

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript"> 
function appendDateToURL(){ 
    var date = new Date(); 
    var d = date.getDate(); 
    var day = (d < 10) ? '0' + d : d; 
    var m = date.getMonth() + 1; 
    var month = (m < 10) ? '0' + m : m; 
    var yy = date.getYear(); 
    var year = (yy < 1000) ? yy + 1900 : yy; 
    var myLink = document.getElementById("myLink"); 
    myLink.setAttribute("href",(myLink.href+ year + month + day)); 
} 
</script> 
</head> 
<body onload="appendDateToURL();"> 
<table border="1"> 
<tr> 
<td >row 2, cell 1</td> 
<td style="white-space:nowrap;"><a id="myLink" href="http://aa.bb.cc/"> Click to check</a></td> 
</tr> 
</table> 
</body> 
0

我剛剛加了一個jsfiddle。拿起你的代碼,並添加了幾條額外的線。

<a class="generated-link" href="">Link me!</a> 

<script> 
var date = new Date(); 
var d = date.getDate(); 
var day = (d < 10) ? '0' + d : d; 
var m = date.getMonth() + 1; 
var month = (m < 10) ? '0' + m : m; 
var yy = date.getYear(); 
var year = (yy < 1000) ? yy + 1900 : yy; 

var link = document.querySelector('.generated-link'); 
link.href = year + month + day; 
</script> 

http://jsfiddle.net/XvM5N/

0

這裏是產生通過使用Javascript的a元件,然後將其附加到頁的一個例子。將來不要嘗試將script標籤放在另一個標籤的中間。顯然,你不想在你的例子中將它追加到body,但我會留下追加給你的。

var anchor = document.createElement("a"); 
var date = new Date(); 
var d = date.getDate(); 
var day = (d < 10) ? '0' + d : d; 
var m = date.getMonth() + 1; 
var month = (m < 10) ? '0' + m : m; 
var yy = date.getYear(); 
var year = (yy < 1000) ? yy + 1900 : yy; 
anchor.innerHTML = "Click to check"; 
anchor.href = "http://aa.bb.cc/" + year + '' + month + '' + day; 
document.body.appendChild(anchor); 

JSFiddle