2012-07-27 54 views
1

我有一個跨度和5個不同的html結構,基本上涉及列表和divs。html內容跨度使用javascript

我有5個按鈕。點擊每個按鈕應該將跨度的內容更改爲這些結構之一。

我知道,它可以一樣容易使用

document.getElementById("a").innerHTML = "<div> A </div>"; 

做,但如果我有20-30行的HTML結構,這是最好的辦法?或者有沒有更好的方法?

回答

0

如果你將有一堆這樣的按鈕,你應該使用,你可以爲了與傳遞的數據調用不是一個函數必須voer重寫一件事情,像

function insertHTML(id, content) { 
    document.getElementById(id).innerHTML = content; 
} 

然後你可以像這樣把一個onclick函數放在你的按鈕項上:

<div class="button" onclick="insertHTML('idoftarget', '<div>html</div>')"></div> 
+0

wouldnt它完全類似於我所做的?而不是將html結構放在javascript部分,這將它放在html部分。 – 2012-07-27 21:04:40

+0

是的。我認爲你的目標不是爲了重複一遍又一遍地重複同一行(不同的目標元素和內容)。 – 2012-07-27 21:06:00

+0

實際上我的主要目標是將html內容整齊排列在javascript一側,以便輕鬆查看和理解html。但JavaScript有多行文本的問題嗎?我可以將內容放在「

A
」部分的幾行中嗎? – 2012-07-27 21:10:01

0

首先你的例子是無效的。 div標籤不應插入a標籤或span標籤。

我會把你想要注入的5個HTML樣本中的每一個都做成JS的字符串,然後在用戶點擊其中一個按鈕時使用innerHTML將它們放入相應的容器中。

+0

你不能把div放在div裏面嗎? – Ian 2012-07-27 20:29:32

+0

他也沒有把標籤放在一個div裏面。 – Will 2012-07-27 20:30:40

+0

@ianpgall錯字,我通過更改'div'到'span'的第二個提到來糾正我的帖子 – austincheney 2012-07-27 20:53:09