如何使用javascript将数组中的ID附加到div
我有一个包含9个字符串的数组,如下所示:如何使用javascript将数组中的ID附加到div,javascript,jquery,html,Javascript,Jquery,Html,我有一个包含9个字符串的数组,如下所示: var boardBox = ['#box1', '#box2', '#box3', '#box4', '#box5', '#box6', '#box7', '#box8', '#b
var boardBox = ['#box1',
'#box2',
'#box3',
'#box4',
'#box5',
'#box6',
'#box7',
'#box8',
'#box9'];
我想将每个ID附加到动态添加到DOM的9个div中,如下所示
for (var i = 0; i < 9; i++){
$( ".row" ).append( "<div class='col-md-4'></div>" );
}
for(变量i=0;i<9;i++){
$(“.row”)。追加(“”);
}
附加是实现这一点的方法吗?我试过了,但它没有运行。我试过了
$( ".row" ).text(boardBox[i]).appendTo('<div></div>');
$(“.row”).text(boardBox[i]).appendTo(“”);
您可以使用i
按索引访问数组元素,并将该值连接为要附加到行的div的内容:
for (var i = 0; i < 9; i++){
$( ".row" ).append( "<div class='col-md-4' >" + boardBox[i] + "</div>" );
}
for(变量i=0;i<9;i++){
$(“.row”).append(“+boardBox[i]+”);
}
您可以使用它,而不是另一个for循环,如:
$.each(boardBox, function(i, id){ // get the each id here
$('<div>', {
id: id, // apply it here
class:"col-md-4",
text:"test div"
}).appendTo('.row'); // append element here.
});
$.each(boardBox,function(i,id){//在这里获取each id
$('', {
id:id,//在这里应用它
类别:“col-md-4”,
文本:“测试div”
}).appendTo('.row');//在此处追加元素。
});
您可以使用
var boardBox=['#box1',
“#第2栏”,
#框3",,
“#方框4”,
“#第5栏”,
“#第6栏”,
"第7栏",,
"第8栏",,
“#第9栏”
];
boardBox.forEach(功能(v){
//在数组上迭代
$('', {
文本:v,
身份证号码:v
})
//正在生成内容和id为数组值的元素
.appendTo(“.row”);
//正在将div追加到“.row”
})
var boardBox=['#box1',
“#第2栏”,
#框3",,
“#方框4”,
“#第5栏”,
“#第6栏”,
"第7栏",,
"第8栏",,
“#第9栏”];
var html='';
对于(变量i=0;i
try,for(var i=0;i#
,还是因为它是id,你把它添加到了数组中。你可以将appendTo
移动到每个之外,它会保存8个DOMmanipulations@Tushar这不会产生任何问题,因为现在的浏览器速度很快,这不是问题。我这里不是说问题,我是说优化,如果OP想要添加100个divsy,但有时你必须动态添加元素,你可以将appends移动到每个元素之外,它将保存8个DOM操作仅对发布的两个答案执行此操作,或者您在Mlind的答案中看不到此操作。如果您将附加
移动到之外,它将保存8个DOMmanipulations@Tushar:怎么会??op还需要在每次迭代中追加内容。var str='';对于(var i=0;i<9;i++){str+=“”+boardBox[i]+;}$('.row')。追加(str)代码>@Tushar:是的。这可以在迭代次数更多时完成。对更少的人不会有太大的影响divs@MilindAnantwar,我仍然觉得最小的DOM操作是更好的实践。现在,随着答案被接受,我会努力解释它,因为OP似乎很幼稚