Javascript for循环中的jQuery.append()
我试图在这里寻找答案,但对于像我这样刚开始学习JavaScript的人来说,所有与我的问题相关的问题都有点太复杂了 我想根据用户输入用js/jquery创建一个div网格(例如:如果用户选择width=16,那么他将看到一个16x16网格) 现在,我想,我将添加一个DOM元素,其Javascript for循环中的jQuery.append(),javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图在这里寻找答案,但对于像我这样刚开始学习JavaScript的人来说,所有与我的问题相关的问题都有点太复杂了 我想根据用户输入用js/jquery创建一个div网格(例如:如果用户选择width=16,那么他将看到一个16x16网格) 现在,我想,我将添加一个DOM元素,其var$smallDiv=$(“”) 下面是根据用户输入添加所需div数的循环: function addDiv() { $('#container').append($smallDiv); } for (i = 1;
var$smallDiv=$(“”)代码>
下面是根据用户输入添加所需div数的循环:
function addDiv() {
$('#container').append($smallDiv);
}
for (i = 1; i <= divCounter * divCounter; i++){
addDiv();
}
函数addDiv(){
$(“#容器”).append($smallDiv);
}
对于循环中的(i=1;i),您将多次附加相同的dom元素引用($smallDiv
),这意味着该元素将只添加一次
相反,在循环的每个迭代中,您需要创建新的实例——您可以使用
function addDiv() {
$('#container').append($smallDiv.clone());
}
作为Arun p Johny解决方案的替代方案,这似乎也适用:
var smallDiv = '<div class="smallDiv"></div>'
function addDiv() {
$('#container').append(smallDiv);
}
for (i = 1; i <= divCounter * divCounter; i++){
addDiv();
}
var smallDiv=''
函数addDiv(){
$(“#容器”).append(smallDiv);
}
对于(i=1;我可以添加完整的HTML和JSA。您需要使用嵌套循环来创建多行,而不仅仅是1.B。更好的方法是生成完整的HTML,而不仅仅是将其附加到“容器”中,因为操作是DOM的操作,最好尽可能少地操作。更好的是,您可以在小提琴上添加注释A
,这将是完美的:)