【发布时间】:2020-03-19 06:21:58
【问题描述】:
我有 14 个生成的单元格。
如何从 14 个单元格中选择一个特定的单元格并对其进行控制?我只希望一个单元格是唯一的,其余的就是它们在代码中的显示方式,通常。
var isCol = 0;
var board = [];
for (r = 0; r < 7; r++) {
var line = [];
for (c = 0; c < 7; c++) {
line.push(r);
}
board.push(line);
}
function prs(c, r) {
showTable(c, r);
isCol = (isCol + 1) % 2;
}
function toColor(col, row, chosen_col, chosen_row) {
var ret = false;
switch (isCol) {
case 0:
if (row == chosen_row) {
ret = true;
}
break;
case 1:
if (col == chosen_col) {
ret = true;
}
break;
}
return ret;
}
function showTable(chosen_col, chosen_row) {
var str = "";
str += "<table border=1>";
for (row = 0; row < 7; row++) {
str += "<tr>";
for (col = 0; col < 7; col++) {
str += "<td onclick='prs(" + col + "," + row + ")'";
if (toColor(col, row, chosen_col, chosen_row)) {
str += " class='grn' ";
}
str += ">";
str += RandomGenerator(50, 500);
str += "</td>";
}
str += "</tr>";
}
str += "</table>";
document.getElementById("ff").innerHTML = str;
}
function RandomGenerator(min, max) {
return Math.floor(Math.random() * (max - min) + min);
}
showTable(-1);
td {
border: 2px solid black;
width: 10px;
height: 10px;
}
td:hover {
background-color: lightgreen;
}
.grn {
background-color: green;
color: white;
}
<div id='ff'></div>
【问题讨论】:
-
为每个单元格添加一个
id,然后使用document.getElementById("idYouWant"),您将拥有该单元格 -
如果它是一个预先确定的单元格,这意味着您在用户访问页面之前就知道它是哪个单元格,那么最好使用 ID 或类。另一方面,如果所选单元格取决于其他因素,您可能需要查看 JavaScript 的
querySelector()方法,以及可以与它一起使用的 list of CSS selectors。 -
欢迎来到 SO!不要担心写出完美的问题,我们只是要求您尽力而为,我们会尝试将其按摩成可以实现您目的的东西。正如“How to Ask”所建议的那样,如果您遇到困难,请让同行进行校对并帮助澄清。
-
使用特定 ID(每个单元格一个)是有意义的。您可以通过这种方式轻松选择一个单元格,如果这是您的目标,也可以随机选择。
标签: javascript html css