2012-09-15 36 views
2

我有一个变种,我想追加多次与jQuery。代码是像这样:追加多个变量与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 
}); 

我不知道我怎样才能使HTML VAR附加在数VAR(4)中提到的次量?上面的代码不起作用,我可以看到为什么。但我看不到解决这个问题的方法。有任何想法吗? (我不是jQuery的专家!)

回答

0

,你可以做这样的删除$

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

working demo

+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的循环。

+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

调用append多次缓慢,特别是在一个循环。仅从字符串编译DOM对象一次,以便高效地使用array.join()和一个数组作为字符串生成器。你也更喜欢使用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 
});