javascript - 井字游戏不改变单元格
问题描述
我将我的 html 与 js 和 css 链接,但我的代码不起作用。我尝试为所有表格单元格使用类名,但它仍然无法使用我的 html 文件:
!DOCTYPE html>
<html lang="en" dir="ltr">
<link rel="stylesheet" href="something.css">
<!--bootstrap library-->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/4.5.1/jquery.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
<meta charset="utf-8">
<title>tic tac toe</title>
</head>
<body>
<div class="jumbotron jumbotron-bg">
<h1 class="display-4 text-color" style="font-weight: 500 ">WELCOME</h1>
<p class="lead">play tic tac toe</p>
<hr class="my-4">
<p></p>
<p class="lead">
<a class="btn btn-primary btn-lg" href="#" role="button">start</a>
</p>
</div>
</div>
<table>
<tr>
<td></td>
<td ></td>
<td ></td>
</tr>
<tr>
<td ></td>
<td ></td>
<td ></td>
</tr>
<tr>
<td ></td>
<td ></td>
<td ></td>
</tr>
</table>
<script src="tictac.js">
</script>
</body>
</html>
忽略开始按钮,我将它与 js 代码链接,以使上述代码的更改正常工作,并在 css 的帮助下打印了一个带有空单元格的 3x3 表
我的js代码:
var table = document.querySelectorAll('td')
function click(){
if(this.textComment==""){
this.textComment="o"
}
if (this.textComment=="o") {
this.textComment=""
}
if (this.textComment=="") {
this.textComment="x"
}
}
for (var i = 0; i < table.length; i++) {
table[i].addEventListener("click", click())
}
解决方案
乍一看,我可以看到您需要绑定函数click
而不是它的执行结果。将您的事件侦听器行更改为table[i].addEventListener("click", click)
.
另外我认为你的意思是使用textContent
而不是textComment
里面click
。
推荐阅读
- algorithm - 在 o(nlogn) 中对数组 A 进行排序
- php - 取电子邮件和密码值 Null
- php - 在 Visual Studio Code 编辑器中的 php 文件中使用 Emmet 的 html、css 功能
- java - 如何在java中通过JNDI连接MongoDB
- php - 从没有键的先前数组中提取变量?
- python - 在跳过第一行并将第二行用作熊猫中的标头以获取符号的原始刻度数据时无法读取 csv
- php - PHP(link MySQL) 日文回显字符串变成问号
- angular - primeng p-table 中的动态行跨度列
- android - 在 onCreate 有趣和崩溃的应用中调用 onClick fun [Android]
- node.js - 如何在 linux 中使用 CLI 创建项目?