我试图从div创建一种网格,我动态地这样做。现在我有几行(每行都带有ID),行内的每个元素也都有一个ID(它重复,我希望ID是唯一的,因为它们应该是)。基本上,我想要的是什么做的是用某些图片平铺空间,我想为每个特定元素添加一个唯一的ID,所以我可以通过点击甚至重新分配值来更改它(更改图块等)。
但我不确定如何做到这一点,因为在我的循环中我只能创建一行(行)然后追加它(通过克隆)。如果有人可以提出另一种循环方式并分配某些ID,我将非常感激。
提前致谢!
我的代码如下。
minecraft.createDirt = function () {
var columns = 20;
var $row = $("<div/>", {
class: 'row'
});
var $square = $("<div/>", {
class: 'dirt cell'
});
$(document).ready(function () {
//add columns to the the temp row object
for (var i = 0; i < 20; i++) {
var dr = $square.clone();
dr.attr('id', 'dr'+i);
$row.append(dr);
}
//clone the temp row object with the columns to the wrapper
for (var i = 0; i < 4; i++) {
var row = $row.clone();
row.attr('id', 'rowdirt'+i);
$("#wrapper").append(row);
}
})
}
答案 0 :(得分:1)
您应该迭代每个单元格并在附加id
时设置它。
$(document).ready(function () {
//clone the temp row object with the columns to the wrapper
for (var i = 0; i < 4; i++) {
var row = $row.clone();
var rowId = 'rowdirt' + i;
row.attr('id', rowId);
//add columns to the the temp row object
for (var j = 0; j < 20; j++) {
var dr = $square.clone();
dr.attr('id', rowId + '_dr' + j);
row.append(dr);
}
$("#wrapper").append(row);
}
})