>我正在尝试从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);
}
})
}
您应该迭代每个单元格并在追加时设置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);
}
})