You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检查HTML元素内容并在JS/TS的if语句中使用?代码问题求解

问题分析与解决

你当前代码的核心问题是:变量gameButton存储的是CSS选择器字符串#GameButton,而非按钮元素的实际文本内容。所以gameButton.includes("-")检查的是选择器字符串里有没有"-",这个字符串本身不含"-",所以永远走else分支。

正确实现步骤

要实现需求,需要先获取DOM元素,再提取它的文本内容,最后进行判断:

  1. 获取目标按钮元素
  2. 提取按钮的文本内容(处理可能的空值和空格)
  3. 判断文本是否包含"-",执行对应逻辑

完整代码示例(TypeScript)

// 1. 获取按钮DOM元素,指定类型为HTMLButtonElement(TS类型提示)
const gameButtonElement = document.querySelector<HTMLButtonElement>('#GameButton');

if (gameButtonElement) {
  // 2. 获取文本内容,去除前后空格,处理空值情况
  const buttonText = gameButtonElement.textContent?.trim() || '';
  
  // 3. 判断文本是否包含"-"
  if (buttonText.includes('-')) {
    console.log("Stop the game");
    // 这里添加停止游戏的实际逻辑,比如:
    // clearGameInterval();
  } else {
    console.log("Click button to continue");
    // 执行点击按钮操作
    gameButtonElement.click();
  }
} else {
  // 容错处理:元素不存在时的提示
  console.error("未找到游戏按钮元素");
}

补充说明

  • 关于文本获取:
    • textContent:获取元素内所有文本(包括隐藏元素的文本)
    • innerText:仅获取元素内的可见文本
      根据你的实际需求选择即可,示例中用textContent更通用。
  • 可选链?.和空值合并||:防止textContent为null时报错,保证代码健壮性。

内容的提问来源于stack exchange,提问作者Cholis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 03:47:07