2012-09-15 3 views
2

jQuery를 여러 번 추가하려는 var가 있습니다. 내가 html로 var에 숫자 VAR (4)에서 언급 된 시간의 양을 추가 할 수있는 방법 궁금jquery로 여러 변수 추가

var number = 4;      //number of times the html must be appended 
html = $("<div>Content here</div>"); //The html I want to append 
$(document).ready(function() { 
    $("body").append(html * number); //Append the div multiple times 
}); 

: 코드는 지금처럼? 위의 코드는 작동하지 않으며 그 이유를 알 수 있습니다. 그러나 나는 그것을 고치는 방법을 볼 수 없다. 어떤 아이디어? (저는 jQuery에서 훌륭한 전문가가 아닙니다!)

답변

0

당신은 그것을 할 수 있습니다. 스트링에서 DOM 오브젝트를 한 번만 컴파일하십시오. 효율적인 결과를 얻으려면 array.join() 및 배열을 문자열 빌더로 사용하십시오. 또한 appendTo를 사용하는 것이 더 빠르기 때문에 appendTo를 사용하는 것을 선호합니다.

예 :

var number = 4;      //number of times the html must be appended 
var content = "<div>Content here</div>";   //The html I want to append 
var stringBuilder = []; 
for (var i = 0; i < number; i++) { 
    stringBuilder.push(content); 
} 
$(document).ready(function() { 
    $(stringBuilder.join('')).appendTo($("body")); //Append the compiled string to the body 
}); 
+0

고마워, 완벽하게 일했다! –

0

* 연산자는 jQuery 객체 (html)와 숫자 (number) 사이에 사용할 수 없습니다. 당신처럼, 그것을 위해 루프를 사용해야합니다 :

$(function() { 
var number = 4; 
    var i = 0; 
    var container = $("body"); 
    for (i = 0; i < number; i += 1) { 
    var html = $("<div>Content here</div>"); 
    container.append(html); 
    } 
}); 

편집 : 루프에 html을 넣습니다. 이 특히 루프에서, 또한 append 여러 번 호출

$(document).ready(function() { 
    var number = 4; 
    html = "<div>Content here</div>"; 
    for(var i=0;i< number;i++)  
    { 
     $("body").append(html); 
    } 
    }); 

working demo

+0

가 여러 번에게 – rahul

+0

덕분에 추가되지 않습니다, 그렇지 않으면 $을 제거해야합니다, 당신은 옳다! –

0
Try this Code:- 


    $(function() {` 
     for (var i = 0; i<4; i++) { 
     $("body").append(("<div>Content here</div>")); 
     } 
    }); 
+0

이 $ ("

Content here
") – rahul

+0

에 대해 $로 작동하지 않습니다. –

0

느리다을 $을 제거 같은