2013-03-20 117 views
0

我正在使用JavaScript創建我的第一個Web項目。我不知道如何正確使用循環。我試圖得到這樣的結果:For循環和追加

text 
text 
text 
text 

但我得到這個:

text 

這就是代碼:

for (i = 0; i <= 5; 1++) { 
$("#sth").append("text" + "<br>"); 
} 

小提琴鏈接:http://jsfiddle.net/6K7Ja/

我只是開始學習JavaScript。幫助將不勝感激:)

+0

你撥弄甚至沒有獲得單行「文本」,因爲語法錯誤。這是一個「錯字問題」,應該可能會被關閉。 – Pointy 2013-03-20 15:26:10

+2

並永遠不會向DOM重複添加連續重複的內容。嘗試var html + =「text」+「
」;並在最後做一個追加。 – theshadowmonkey 2013-03-20 15:26:11

+0

你有一個錯字,用'i ++'替換'1 ++' – 2013-03-20 15:26:24

回答

9

您的代碼有1++它應該是i++

3
var text = ""; 
for (var i = 0; i < 4; i++) { 
    text += "text<br>"; 
} 
$("#sth").append(text); 
2

你想追加出循環。將值添加到變量,然後追加該變量一次。當你這樣做的時候會發生什麼,jQuery會在每次經過該循環時執行append方法。這很糟糕,因爲它會繼續每次都會這樣做,並且會讓你放慢速度。最好通過循環並保存你想要附加到變量的內容。然後只需追加一次。這樣的事情應該做的伎倆:

var appendText = []; //We can define an array here if you need to play with the results in order or just use a string otherwise. 
for (var i = 0; i < 4; i++) { 
    appendText.push("text" + "<br>"); //This adds each thing we want to append to the array in order. 
} 

//Out here we call the append once 
//Since we defined our variable as an array up there we join it here into a string 
appendText.join(" "); 
$("#sth").append(appendText); 

你可以看到在這個Fiddle合作,併發揮與它周圍。

下面是一些閱讀材料,你應該檢查出:

http://www.learningjquery.com/2009/03/43439-reasons-to-use-append-correctly