Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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表格单元格?_Javascript - Fatal编程技术网

点击事件时的Javascript表格单元格?

点击事件时的Javascript表格单元格?,javascript,Javascript,我试图制作一个游戏板,在每个单元格上都有点击功能,但每次我点击一个单元格,唯一受影响的就是最后一个单元格。 我希望能在这方面得到一些帮助。 这是我的表格代码: var board = document.getElementById("board"); var NUM_ROWS = 6; var NUM_COLS = 6; for (row = 0; row < NUM_ROWS; row++) { var tr = document.createElement("tr"); for

我试图制作一个游戏板,在每个单元格上都有点击功能,但每次我点击一个单元格,唯一受影响的就是最后一个单元格。 我希望能在这方面得到一些帮助。 这是我的表格代码:

var board = document.getElementById("board");
var NUM_ROWS = 6;
var NUM_COLS = 6;
for (row = 0; row < NUM_ROWS; row++) {
  var tr = document.createElement("tr");
  for (col = 0; col < NUM_COLS; col++) {
    var td = document.createElement("td");
    var img = document.createElement("img");
    img.src = 'images/image0.png';
    td.appendChild(img);
    td.addEventListener("click", function() {
      img.src = 'images/image1.png';
    });
    tr.appendChild(td);
  }
  board.appendChild(tr);

}
var board=document.getElementById(“board”);
var NUM_ROWS=6;
var NUM_COLS=6;
对于(行=0;行
需要首先使用
document.body.childNodes[0]指向
img
child

 td.addEventListener("click", function() {
      var img = this.childNodes[0];
      img.src = 'images/image1.png';//use this not img
    });
解决方案:

var board=document.getElementById(“board”);
var NUM_ROWS=6;
var NUM_COLS=6;
对于(行=0;行


它适用于我,你的浏览器是什么,我的浏览器是chrome,你在控制台(F12)中看到了什么?我也在使用chrome。控制台中没有出现任何问题。我只是不明白为什么唯一一个正在改变的细胞是最后一个。我只需要它,这样我选择的单元格就可以更改。如果img是td的唯一子项,您必须将img放入closure中,请执行以下操作:
td.addEventListener(“单击”,function(){td.childNodes[0].src='images/image1.png';})你在闭包中的意思是什么?哈哈,你正在更改TDC的src。当我尝试此操作时,单击不起作用。请尝试编辑的答案。你必须先指向child的img。@bormat请参阅编辑的答案。@swen请参阅编辑的答案。