您好,感谢您抽出宝贵时间阅读我的问题。

我试图在下面的循环中将值设置为矩阵:

for(var i=0; i<9; i++){
    for(var j=0;j<9;j++){
        var aux = i.toString().concat(j.toString());
        // If that I want
        var num = document.getElementById(aux).innerText;
        matriz[i][j] = num;
        // else
        var num = document.getElementById(aux).value;
        matriz[i][j] = num;

    }
}


我在HTML中有此表(我不会复制所有表):

<table id="tablero">
  <tr>
    <td> <input id="00" type="text" maxlength="1">  </td>
    <td id="01"></td>
    <td id="02"></td>
    <td id="03"></td>
    <td id="04"></td>
    <td> <input id="05" type="text" maxlength="1"></td>
    <td> <input id="06" type="text" maxlength="1"></td>
    <td id="07"></td>
    <td> <input id="08" type="text" maxlength="1"></td>
  </tr>
  <tr>
    <td id="10"></td>
    <td> <input id="11" type="text" maxlength="1"> </td>
    <td> <input id="12" type="text" maxlength="1"> </td>
..


没有输入的td具有默认值。
因此,如何在上一个循环中区分它们?提前致谢

最佳答案

使用HTMLInputElement检查元素为instanceof

var el = document.getElementById(aux);
matriz[i][j] = el instanceof HTMLInputElement ? el.value : el.innerText;

关于javascript - 如何在JavaScript中的输入值或td文本内容之间的if子句中区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50018851/

10-12 13:20