Javascript 如何改变td颜色,点击td(就像战舰游戏)?
如何改变td颜色,点击td(就像战舰游戏)? 以下是带有特定id的代码: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上更新此
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';
}