2013-07-09 51 views
0

我剛剛開始使用Javascript,而且,這段代碼很明顯,它不起作用,我不知道爲什麼,因爲一切都看起來罰款:使用for循環無法使用.innerHTML「打印」

<html> 
<head> 
</head> 
<body> 
<h1>This is my first Javascript test.</h1> 
<p id = "y">123</p> 
<button type = "button" onclick = "do()">Do it!</button> 
<script> 
var x = ["First Element", "Second Element", "Third Element", "Fourth Element"]; 
function do() { 
    for (var i = 0; i < x.length; i++) { 
     document.getElementById("y").innerHTML = x[i] + "<br>"; 
    } 
} 
</script> 
</body> 
</html> 

當我點擊血腥的按鈕,它只是不工作。它沒有給我那裏的< p>標籤上的數組內容。

非常感謝你!

+1

'do'是JavaScript中的保留字。你應該爲你的功能選擇一個不同的名字。 http://jsfiddle.net/3e3CN/ –

回答

3

我認爲你正在努力實現可以通過這個小變化做什麼...

document.getElementById("y").innerHTML += x[i] + "<br>"; 

而且這將是明智的有「Y」存儲在一個局部變量,而不是每次得到它的。

<script> 
var y = document.getElementById("y"); 
var x = ["First Element", "Second Element", "Third Element", "Fourth Element"]; 
function do() { 
    y.innerHTML = ""; 
    for (var i = 0; i < x.length; i++) { 
     y.innerHTML += x[i] + "<br>"; 
    } 
} 
</script> 
+0

我感謝你的提示(將y存儲在本地變量中)。我改爲「+ =」,但它仍然無法正常工作。當我點擊按鈕時,y保留其原始的「123」內容。 –

+0

只需在開始for循環之前清除innerHTML即可。 'y.innerHTML =「」;' – mohkhan

+0

我編輯了答案來解決123問題。 – mohkhan