将图像添加到表给定的链接

时间:2017-04-07 05:58:18

标签: javascript html image html-table

我有以下代码遍历我的行和列

           for (var j=0; j < cols; j++) {
            for (var k=0; k < cols; k++) {
              alert(data[j][i])
              if(data[j][i].endsWith(".jpg"))
              {
                var img = document.createElement('img');
                img.src = data[j][i];
                img.onload = function() { //check to make sure that the 
                  tableData += '<td>' + img + '</td>';
                };
              }
              else
              {
                tableData += '<td>'+data[j][i]+'</td>'; 
              }
              break;
            }
          }

我正在尝试创建图像,但在该位置没有任何弹出窗口。知道我可能做错了什么吗?我也尝试了没有.onload,然后弹出[object HTMLImageElement]

2 个答案:

答案 0 :(得分:2)

  • 变量img持有对象,而不是HTML字符串。请改为使用<img>代码作为string
  • 另请注意,onload事件是异步的,回调可以稍后调用!
for (var j = 0; j < cols; j++) {
  for (var k = 0; k < cols; k++) {
    alert(data[j][i])
    if (data[j][i].endsWith(".jpg")) {
      var img = '<img src="' + data[j][i] + '">';
      tableData += '<td>' + img + '</td>';
    } else {
      tableData += '<td>' + data[j][i] + '</td>';
    }
    break;
  }
}

答案 1 :(得分:0)

您正在第二个循环中迭代k但是您正在调用data[j][i]。我想你需要打电话

data[j][k]

如果第一个循环遍历列,则第二个循环应该遍历行,除非行和列相等。

for (var k=0; k < rows; k++) {