此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]显示