var arr = [
[0, 1, 1, 1, 0],
[0, 1, 0, 0, 0],
[0, 1, 1, 2, 2],
[0, 0, 1, 0, 2],
[1, 1, 1, 0, 0]
];
var table = document.createElement("table");
var tbody = document.createElement("tbody");
table.appendChild(tbody);
arr.forEach(function(sub, j) {
var row = document.createElement("tr");
tbody.appendChild(row);
sub.forEach(function(num, i) {
var cell = document.createElement("td");
row.appendChild(cell);
cell.className = num === 1? "brown": "green";
cell.id = "cell-" + i + "-" + j;
});
});
document.body.appendChild(table);
var img = document.createElement("img");
img.src = "http://placehold.it/15";
function moveTo(x, y) {
if(x < 0 || x > 4) return;
if(y < 0 || y > 4) return;
document.getElementById("cell-" + x + "-" + y).appendChild(img);
}
moveTo(2, 2);
document.addEventListener("click", function(e) {
var target = e.target;
if(target.tagName === "TD")
moveTo(target.id.match(/\d+/), target.id.match(/\d+$/));
});
.brown, .green {
width: 20px;
height: 20px;
}
.brown {
background: brown;
}
.green {
background: green;
}
1
,那么颜色将会是棕色
,否则(任何其他数字)将会是绿色
。如果数字是2
,那么就在单元格中添加一张图片。请检查答案,我已经进行了编辑。 - ibrahim mahrir