不能使用 If - Else 元素存在于 Javascript 中

我写了一个 JS 函数来在 html 和 JS 中创建一个表我想单击提交然后创建表但我不希望提交按钮在再次单击时创建另一个表我尝试使用 IF - Else 语句功能,但它不工作


代码:


按钮:


 document.getElementById("btn_submit").addEventListener("click",sizeGrid)

功能


 function makeGrid(x,y) {

    event.preventDefault();

    if (document.getElementById('tbl') != null)

      {

        return;

      }

      else

      {

        var body = document.getElementById('pixelCanvas');

        var tbl  = document.createElement('table');

        for(var i = 0; i < x; i++){

           var tr = tbl.insertRow();

            for(var j = 0; j<y; j++){

              var td= tr.insertCell()

           }


        }


         body.append(tbl);

         paint()

      }


      }

HTML


    <h2>Design Canvas</h2>

<table  id="pixelCanvas">

</table>

单击提交两次后,该表被创建两次


慕仙森
浏览 121回答 2
2回答

互换的青春

您应该将tbl的 id设置为'tbl'by&nbsp;tbl.id = 'tbl'。

慕莱坞森

您正在检查表的 id,但从未分配过。function makeGrid(x,y) {&nbsp; event.preventDefault();&nbsp; if (document.getElementById('tbl') != null) {&nbsp; &nbsp; return;&nbsp; } else {&nbsp; &nbsp; var body = document.getElementById('pixelCanvas');&nbsp; &nbsp; var tbl&nbsp; = document.createElement('table');&nbsp; &nbsp; tbl.id = "tbl"; // Assign the id for the check&nbsp; &nbsp; for(var i = 0; i < x; i++){&nbsp; &nbsp; &nbsp; var tr = tbl.insertRow();&nbsp; &nbsp; &nbsp; for(var j = 0; j<y; j++){&nbsp; &nbsp; &nbsp; &nbsp; var td= tr.insertCell()&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; &nbsp; body.append(tbl);&nbsp; &nbsp; paint();&nbsp; }};
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript