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

如何在JavaScript的if语句中区分输入值与td文本内容

解决方法:通过标签名判断元素类型来获取对应值

你可以利用DOM元素的tagName属性来判断当前元素是<td>还是<input>,这个属性会返回大写的标签名称,非常可靠。

先获取到目标元素,再根据它的tagName做分支处理就可以了,修改后的代码如下:

for(var i=0; i<9; i++){
    for(var j=0;j<9;j++){
        var aux = i.toString().concat(j.toString());
        const element = document.getElementById(aux);
        
        // 根据标签类型选择取值方式
        if (element.tagName === 'TD') {
            // TD元素取innerText,用trim清理多余空格
            matriz[i][j] = element.innerText.trim();
        } else if (element.tagName === 'INPUT') {
            // INPUT元素取value,同样清理空格避免冗余
            matriz[i][j] = element.value.trim();
        }
    }
}

补充说明:

  • tagName是所有HTML元素都具备的标准属性,返回值是大写的标签名(比如'TD'、'INPUT'),判断时要注意大小写匹配。
  • 加入trim()是为了避免元素文本/输入值中包含多余的换行、空格等空白字符,确保存入矩阵的是干净的内容。
  • 如果你想更精确地判断元素类型,也可以用DOM元素的构造函数判断,比如:
    if (element instanceof HTMLTableCellElement) {
        // 确认是TD元素
    } else if (element instanceof HTMLInputElement) {
        // 确认是INPUT元素
    }
    
    这种方式更面向对象,但tagName在实际场景中已经足够简洁好用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:19:41