Javascript 通过表中特定单元格的id向其添加颜色 功能网格(行、列){ var表=”; 变量大小=(1/行*525)+“px”; 对于(i=0;i
逐个:Javascript 通过表中特定单元格的id向其添加颜色 功能网格(行、列){ var表=”; 变量大小=(1/行*525)+“px”; 对于(i=0;i,javascript,Javascript,逐个: function grid(rows, cols) { var table = "<table id = \"myTable\">"; var size = (1 / rows * 525) + "px"; for (i=0; i<rows; i++) { table += "<tr>"; for (j=0; j<cols; j++) { var ID = i+','+j; table += "<td
function grid(rows, cols) {
var table = "<table id = \"myTable\">";
var size = (1 / rows * 525) + "px";
for (i=0; i<rows; i++) {
table += "<tr>";
for (j=0; j<cols; j++) {
var ID = i+','+j;
table += "<td id = \"ID\" >"+"</td>";
}
table += "</tr>";
}
table += "</table>";
var ID2 = randomFunction(rows, cols);
alert(ID2);
document.ID2.style.color = "red";
//document.getElementById(ID2).style.color = "#ff0000";
//table1.rows[1].cells[0].style.backgroundColor = "#003F87";
//id.style.backgroundColor='#003F87';
$("#container").empty().append(table);
}
不会工作,因为此时该表不在dom中,因此document.getElementById(ID2)
将不返回任何内容
document.getElementById(ID2).style.color = "#ff0000";
不起作用,因为表
是常规字符串,而字符串没有行
属性
table1.rows[1].cells[0].style.backgroundColor = "#003F87";
不会起作用,因为id
又是一个简单的字符串。可以起作用的是,首先使用$(“#容器”).empty().append(table);
将表添加到dom中,然后使用
id.style.backgroundColor='#003F87';
或者使用jquery:
document.getElementById(ID2).style.backgroundColor = "#ff0000";
我还建议在表格单元格中插入空格(
)(请注意,当前代码不正确,它将所有单元格的id设置为字符串“id”),使用
它给你一个像td_1_2这样的ID,它不会弄乱任何浏览器。你想什么时候改变颜色?是onClick?还是别的什么?你需要运行这一行,
$(“#容器”).empty().append(表)
在您尝试添加颜色之前,到目前为止,该表尚未添加到DOM中,因此无法工作。运行此操作后,请检查呈现的标记。我怀疑您的所有单元格都将具有等于“id”的a id属性。看起来您是在转义引号,这意味着ID是文本字符串的一部分。您可能不希望转义引号,而是将ID变量连接到其中。我希望在加载页面后立即更改颜色。这不是单击。此代码是我正在设计的游戏的一部分。我甚至尝试运行$(“#容器”).empty().append(表);
在添加颜色之前,没有任何变化。非常感谢@SWeko,它真的帮了我的忙
$("#"+ID2).css({backgroundColor: "#ff0000"}).
table += '<td id = "'+ID+'"> </td>';
var ID = 'td_'+i+'_'+j;