Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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 如何改变td颜色,点击td(就像战舰游戏)?_Javascript - Fatal编程技术网

Javascript 如何改变td颜色,点击td(就像战舰游戏)?

Javascript 如何改变td颜色,点击td(就像战舰游戏)?,javascript,Javascript,如何改变td颜色,点击td(就像战舰游戏)? 以下是带有特定id的代码: str +="<td id='" + counter + "' onclick='checkClick(" + counter + "," + i + "," + j + ")' style = 'background-color: Black; height:30px; width:30px'>"; str+=”; (最后的str将与innerHTML一起使用,innerHTML将在主体内的div上更新此

如何改变td颜色,点击td(就像战舰游戏)? 以下是带有特定id的代码:

str +="<td id='" + counter + "' onclick='checkClick(" + counter + "," + i + "," + j + ")' style = 'background-color: Black; height:30px; width:30px'>";
str+=”;
(最后的str将与innerHTML一起使用,innerHTML将在主体内的div上更新此内容。)


checkClick函数需要更改,我尝试了innerHTML或通过ElementID获取td,但它不起作用

这应该可以完成以下工作:

或者更简单的方法:


你好!

函数changecolor() { var mainContent=“”; mainContent=document.getElementById(“main”); mainContent.style.backgroundColor=“#FFFF99”; }
#my_markup.html
废话
#my_scripts.js
document.getElementById(“clickable”).addEventListener(“click”,tableClicked);
功能表(e){
e、 target.style.backgroundColor='#FF0000';
}

一定要看一看。一本关于JS中事件处理的全面指南。我的建议是不要+=我将附加的innerHTML(),因为我在问题中发现,我以前在JS中已经设置了400 td,带有:str+=“”;在接收计数器的新函数中,我无法获取之前创建的td…我尝试将td作为对象发送…str+=“”;但它不起作用..有什么想法吗?问题是在函数中始终存在不同的id,并且在JSI中设置游戏使用了
id
作为示例,但实际上我会在每个可单击的项目(或任何名称)上使用
class
,然后按类名查找它们,并将事件侦听器应用于每个。我通常使用jQuery,因此类似于
$('.clickable')。单击(function(){$(this.css('background-color','#FF0000');})
我尝试将td作为对象发送…str+=“”;但它不起作用..你知道吗?如果你必须用一个内联的
onclick
那么
this.id
不应该是一个变量,它只是一个这样的字符串:
str+=”
finally它与:onclick='checkClick(this)-->{tfdOBJ=document.getElementById(td.id);tfdOBJ.style.background=“白色”;
<div id="main" class="main">
  <p>hello!</p>
</div>

  <script type="text/javascript">
  function changecolor()
  {
    var mainContent = "";
    mainContent = document.getElementById("main");
    mainContent.style.backgroundColor = "#FFFF99";
  }
  </script>
# my_markup.html
<td id="clickable">Blah</td>

# my_scripts.js
document.getElementById("clickable").addEventListener("click", tableClicked);
function tableClicked(e) {
  e.target.style.backgroundColor = '#FF0000';
}