javascript - 如何使用javascript将图像标签设置到html表中?

标签 javascript

我是 Javascript 新手,想用 Javascript 绘制动态表格。该表在一行中有两列。这就是我创建表本身的方式:

var body = document.body,
    tbl = document.createElement('table');
    tbl.style.width = '100px';
    tbl.style.border = '1px solid black';

    for (var i = 0; i < 3; i++) {
      var tr = tbl.insertRow();
        for (var j = 0; j < 2; j++) {
          if (i == 3 && j == 1) {
            break;
          } else {
            var td = tr.insertCell();
            td.appendChild(document.createTextNode('Cell'));
            td.style.border = '1px solid black';  
          }
        }//end if
    }

body.appendChild(tbl);

我想显示其中一列的动态图像。这是创建动态图像的代码:

var oImg=document.createElement("img");
oImg.setAttribute('src', 'http://esam.ir/sell/itemImages/99989/adyingwish_101900-609006!1.png');
oImg.setAttribute('alt', 'na');
oImg.width = '100';
oImg.height = '100';
document.body.appendChild(oImg);

我想要实现的目标是这样的: enter image description here

我尝试将图像附加到像这样的单元格中,但没有成功:

var body = document.body,
    tbl = document.createElement('table');
    tbl.style.width = '100px';
    tbl.style.border = '1px solid black';

    for (var i = 0; i < 3; i++) {
      var tr = tbl.insertRow();
      for (var j = 0; j < 2; j++) {
        if (i == 3 && j == 1) {
          break;
        } else {
          var td = tr.insertCell();
          td.appendChild(document.createTextNode('Cell'));
          td.style.border = '1px solid black';
          var oImg = document.createElement("img");
          oImg.setAttribute('src', 'http://esam.ir/sell/itemImages/99989/adyingwish_101900-609006!1.png');
          oImg.setAttribute('alt', 'na');
          oImg.width = '100';
          oImg.height = '100';
          document.body.appendChild(oImg);     
        }
      }//end if

    }

body.appendChild(tbl);

这将创建一个如下表: enter image description here

这不是我们想要的结果。如何在第二个单元格中插入图像?

最佳答案

具体操作方法如下。

var body = document.body,
  tbl = document.createElement('table');
tbl.style.width = '100px';
tbl.style.border = '1px solid black';

for (var i = 0; i < 3; i++) {
  var tr = tbl.insertRow();
  for (var j = 0; j < 2; j++) {
    if (i == 3 && j == 1) {
      break;
    } else {
      var td = tr.insertCell();
      td.style.border = '1px solid black';

      if (j == 1) {
        var oImg = document.createElement("img");
        oImg.setAttribute('src', 'http://esam.ir/sell/itemImages/99989/adyingwish_101900-609006!1.png');
        oImg.setAttribute('alt', 'na');
        oImg.width = '100';
        oImg.height = '100';
        td.appendChild(oImg);
      } else {
        td.appendChild(document.createTextNode('Cell'));
      }

    }
  } //end if

}

body.appendChild(tbl);

只需查看该单元格是否是第二个 j == 1 以及是否附加图像(附加到 td,而不是正文),否则附加文本“Cell”或其他任何内容你愿意。

关于javascript - 如何使用javascript将图像标签设置到html表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39221062/

相关文章:

javascript - 以编程方式将键发送到输入字段?

javascript - 如何在所有菜单关闭的情况下加载此 Accordion ?

javascript - 在添加或删除之前检查类列表是否包含类是否存在?

javascript - onclick 没有获得正确的值

javascript - 用于进行一些 meteor 单元测试的最小 Docker 镜像

javascript - 使用新对象的 For/In 循环

php - 关于 ajax 成功的 if/else 语句

javascript - HTML 表单下拉数据源

javascript - Django 管理员 : django is not defined

JavaScript 术语 : do I (call/invoke/execute) a function?