Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过表中特定单元格的id向其添加颜色 功能网格(行、列){ var表=”; 变量大小=(1/行*525)+“px”; 对于(i=0;i_Javascript - Fatal编程技术网

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+'">&nbsp;</td>';
var ID = 'td_'+i+'_'+j;