2011-04-01 98 views

回答

64

這裏是一個純JavaScript替代:

var mydiv = document.getElementById("myDiv"); 
var aTag = document.createElement('a'); 
aTag.setAttribute('href',"yourlink.htm"); 
aTag.innerHTML = "link text"; 
mydiv.appendChild(aTag); 
+7

我會使用'innerText'屬性而不是'innerHTML',因爲它涉及到XSS更安全。並不是說這裏有一個問題,但是如果OP要動態加載鏈接文本,最好安全一點。 – 2011-04-01 23:25:20

+0

我不知道當我這樣做時會發生什麼問題,但它不起作用,並且沒有項目被添加到div中!任何想法? – 2011-04-01 23:43:47

+0

對不起,我編輯它。我在appendChild中切換了mydiv和aTag。再試一次。這裏是一個演示:http://jsfiddle.net/ducondez/mbTnH/ – danniel 2011-04-01 23:52:01

14

我建議您爲此使用jQuery,因爲它使過程更容易。下面是使用jQuery的一些例子:

$("div#id").append('<a href="' + url + '">' + text + '</a>'); 

如果你需要一個列表不過,作爲一個<ul>,你可以這樣做:

$("div#id").append('<ul>'); 
var ul = $("div#id > ul"); 

ul.append('<li><a href="' + url + '">' + text + '</a></li>'); 
+2

OP沒有說「jQuery」... – kennytm 2011-04-01 23:03:46

+0

greate它的工作對我來說 – 2015-08-22 03:42:10

+0

jquery使用javascript ..我同意使用jquery更容易閱讀這裏。 – markthewizard1234 2015-12-02 09:48:50

0
var newA = document.createElement('a'); 
    newA.setAttribute('href',"http://lochalhost"); 
    newA.innerHTML = "link text"; 
    document.appendChild(newA); 

谷歌搜索會很容易地發現這一點。

1
<script type="text/javascript" language="javascript"> 
function createDiv() 
{ 
    var divTag = document.createElement("div");    
    divTag.innerHTML = "Div tag created using Javascript DOM dynamically";   
    document.body.appendChild(divTag); 
} 
</script> 
0

一個更多的變化很好地包裹起來,不需要的setAttribute哪裏。

有3條線,如果Wetfox可以幹掉就不需要了。

​​

感謝您的幫助。