2013-03-20 2 views
0

저는 JavaScript로 첫 웹 프로젝트를 만들고 있습니다. for 루프를 올바르게 사용하는 방법을 모르겠습니다. 나는이 결과를 얻으려고 :루프 및 추가 용

text 
text 
text 
text 

을하지만이 얻을 :

text 

을 그리고 그 코드입니다 :

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

바이올린 링크 : http://jsfiddle.net/6K7Ja/

단지

내가 JavaScript 학습을 시작했습니다. 도움말 크게 감사드립니다 :)

+0

귀하의 바이올린도 있기 때문에 구문 오류의 한 줄 "텍스트"를하지 않습니다. 이것은 "오타 질문"이며 아마도 닫아야합니다. – Pointy

+2

그리고 DOM에 연속적으로 반복적 인 내용을 추가하지 마십시오. 시도 var html + = "text"+ "
"; 그리고 마지막에 추가하십시오. – theshadowmonkey

+0

당신은 오타가 있습니다.'1 ++'을'i ++' –

답변

9

귀하의 코드는 i++이어야합니다 1++있다.

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

루프 밖으로 추가를 원합니다. 변수에 값을 추가 한 다음 해당 변수를 한 번 추가하십시오. 어떻게하면 지금 어떻게되는지, jQuery는 루프를 돌 때마다 추가 메소드를 수행 할 것입니다. 그럴 때마다 때마다 을 계속 수행하고 속도가 느려지므로 좋지 않습니다. 루프를 살펴보고 변수에 추가 할 내용을 저장하는 것이 좋습니다. 그런 다음 해당 변수 을 한 번에 추가하십시오.

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