gpt4 book ai didi

javascript - 如何查看表td的值?

转载 作者:行者123 更新时间:2023-11-28 02:15:26 24 4
gpt4 key购买 nike

我正在尝试创建雷场游戏。 “我对 Js 很陌生”。

到目前为止我做了什么:

var level = prompt("Choose Level: easy, medium, hard");
if (level === "easy") {
level = 3;
} else if (level === "medium") {
level = 6;
} else if (level === "hard") {
level = 9;
}
var body = document.getElementsByTagName("body")[0];
var tbl = document.createElement("table");
var tblBody = document.createElement("tbody");
for (var i = 1; i <= 10; i++) {
var row = document.createElement("tr");
document.write("<br/>");
for (var x = 1; x <= 10; x++) {
var j = Math.floor(Math.random() * 12 + 1);
if (j < level) {
j = "mined";
} else {
j = "clear";
}
var cell = document.createElement("td");
var cellText = document.createTextNode(j + " ");
cell.appendChild(cellText);
row.appendChild(cell);
}
tblBody.appendChild(row);
}
tbl.appendChild(tblBody);
body.appendChild(tbl);
tbl.setAttribute("border", "2");

因此,我在此处创建 2d 表,并在行和列中输入 2 个随机值(挖掘或清除)。

我陷入困境的是:

检查 td 是否为已开采的,否则它会死亡,否则打开盒子(td)等。

如何分配 td 的?我的意思是如何检查点击的 td 中有哪个值(挖掘/清除)?

Ps:请不要写完整的代码:)请给我看轨道:)

感谢您的解答!

好的!我已经走到这一步了..但是,如果我单击行,即使我单击挖掘的行,它有时也会显示清晰,反之亦然!

  // create the table
var body = document.getElementsByTagName("body")[0];
var tbl = document.createElement("table");
tbl.setAttribute('id','myTable');
var tblBody = document.createElement("tbody");


//Create 2d table with mined/clear
for(var i=1;i<=10;i++)
{
var row = document.createElement("tr");
document.write("<br/>" );

for(var x=1;x<=10;x++)
{
var j=Math.floor(Math.random()*12+1);

if(j<level)
{
j = "mined";
}
else{
j = "clear";
}
var cell = document.createElement("td");
var cellText = document.createTextNode(j + "");
cell.appendChild(cellText);
row.appendChild(cell);

}
tblBody.appendChild(row);
}
tbl.appendChild(tblBody);
body.appendChild(tbl);
tbl.setAttribute("border", "2");


//Check which row is clicked

window.onload = addRowHandlers;

function addRowHandlers() {
var table = document.getElementById("myTable");
var rows = table.getElementsByTagName("tr");
for (i = 0; i < rows.length; i++) {
var currentRow = table.rows[i];
var createClickHandler =
function(row)
{
return function() {
var cell = row.getElementsByTagName("td")[0];
var id = cell.innerHTML;
if(id === "mined")
{
alert("You died");
}else
{
alert("clear");
}
};
}

currentRow.onclick = createClickHandler(currentRow);
}
}

我认为我给表 id“myTable”做错了..

你能看到吗?

提前谢谢您!

最佳答案

所以,想法是:

  1. 为每个 td 单元格分配一个点击事件:

    td.addEventListener('click', mycallback, false);

  2. 在事件处理程序(回调)中,检查td的内容:

    function mycallback(e) {/*e.target 是 td;检查 td.innerText;*/}

教学资源:

关于javascript - 如何查看表td的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16470359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com