此JS代码无法显示图像,而是给出了字符串[object HTMLImageElement]。
如何固定它以便在该位置显示图像?谢谢

let signature = $('canvas.signature').get(0).toDataURL(); //earlier in the code

let w = window.open();
let doc = w.document;
doc.write(html);
doc.close();
let sigImg = new Image();
sigImg.src = signature;
let nodes = doc.querySelectorAll('td.Label');
for (var i = 0; i < nodes.length; i++) {
  var item = nodes[i];
  if (item.textContent === "User's signature:") {
    item.nextElementSibling.innerHTML = sigImg; //<--- failed to show the image
  }
}


编辑
我没用的原因
item.nextElementSibling.appendChild(sigImg);
因为我想用图像替换td元素的内容。
但是即使采用这种解决方案,我也会得到一个小图标,单击右键并在新页面中打开时,我会得到一个图标(无法访问此网站)。

最佳答案

问题是这个

item.nextElementSibling.innerHTML = sigImg;


... 改成

item.nextElementSibling.innerHTML = ''; // clear contents
item.nextElementSibling.appendChild(sigImg);


sigImg是一个对象,您会发现使用代码代替[object Object]显示

08-08 05:59