首页 > 解决方案 > 将图像对象作为函数和类参数传递

问题描述

您如何将图像作为函数/类中的参数传递,或者这是不可能的,如果是我将如何修复它?例如:

var tree = new Image();
tree.src = "img/statobj/tree.png"
function additem(dimage){
document.getElementById("myitems").rows[0].insertCell(0).innerHTML ='<div id="invetoryitem" >'+ this.dimage + '</div>'
console.log(dimage) //gets undefined
}

我已经尝试过 dimage.src 和其他方法,但我使用的任何方法似乎都不起作用:/

标签: javascripthtmlstringfunctionecmascript-6

解决方案


像其他任何方式一样传递它,但要显示它,请使用appendChildnot innerHTML

var tree = new Image();
tree.src = "https://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Ash_Tree_-_geograph.org.uk_-_590710.jpg/220px-Ash_Tree_-_geograph.org.uk_-_590710.jpg";
function showTree(dimage) {
  document.getElementById("div").appendChild(dimage);
  console.log(dimage);
}

showTree(tree);
<div id="div"></div>

如果您确实想使用innerHTML,请使用<img>以下src内容dimage.src

var tree = new Image();
tree.src = "https://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Ash_Tree_-_geograph.org.uk_-_590710.jpg/220px-Ash_Tree_-_geograph.org.uk_-_590710.jpg";
function showTree(dimage) {
  document.getElementById("div").innerHTML = "<img src='" + dimage.src + "'>";
  console.log(dimage);
}

showTree(tree);
<div id="div"></div>


推荐阅读