gpt4 book ai didi

javascript - 将文本从 HTML 转换为 Javascript 作为输入更改 ID 的函数

转载 作者:行者123 更新时间:2023-11-28 01:16:46 27 4
gpt4 key购买 nike

我正在尝试创建一个 if/else 语句来检查用户按下的按钮的文本。如果该按钮中没有文本,它将继续该功能,如果存在预先存在的文本,则会发出警报,表明那里已经有一个条目。

本质上,用户单击一个按钮,代码会检查该按钮是否为空。但是,由于按钮的 ID 不断变化,我不知道如何告诉代码检查按下的按钮。我觉得使用“this”是解决这个问题的一部分,但我对 JavaScript 太陌生,无法正确使用它。

这是我的整个 JavaScript 代码,除了其中有注释的两行之外,它工作正常。我试图使变量“inSquare”等于触发该函数的按钮中的文本。然后它继续检查变量的文本,但目前它所做的只是使 if 失败并直接进入 else。

var turnNumber = 9;
var whoseTurn;
var inSquare;
function currentTurn(id) {
inSquare = this.innerHTML; /*This Line*/
if (inSquare === "") { /*This Line*/
if (whoseTurn === 0) {
id.innerHTML = "X";
turnNumber -= 1;
whoseTurn = turnNumber % 2;
} else {
id.innerHTML = "O";
turnNumber -= 1;
whoseTurn = turnNumber % 2;
}
} else {
window.alert("Something is already in that square!");
}
}

此外,这里还有一个 HTML 按钮的示例。 (总共有九个,但格式都相同)。

<button id="topLeft" onclick="currentTurn(this)"></button>
<button id="topMid" onclick="currentTurn(this)"></button>
<button id="topRight" onclick="currentTurn(this)"></button>

最佳答案

inSquare = this.innerHTML; 应该是 inSquare = id.innerHTML;

函数中的

this 引用窗口对象,但您想要引用您传递的元素,该元素作为函数的 id 参数提供。

关于javascript - 将文本从 HTML 转换为 Javascript 作为输入更改 ID 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23742265/

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