Javascript 将JS对象附加到DOM

Javascript 将JS对象附加到DOM,javascript,jquery,html,Javascript,Jquery,Html,我想知道是否有任何方法可以将javascript对象附加到DOM中?我有一个对象原型,它是这样的: function Weapon(damage, type, src) { this.damage = damage; this.type = type; this.src = src; } 和一个对象: var potion = new Weapon(24, 'Potion', 'glove.png'); 我试图通过以下方式将其附加到dom中: let test = documen

我想知道是否有任何方法可以将javascript对象附加到DOM中?我有一个对象原型,它是这样的:

function Weapon(damage, type, src) {
  this.damage = damage;
  this.type = type;
  this.src = src;
}
和一个对象:

var potion = new Weapon(24, 'Potion', 'glove.png');
我试图通过以下方式将其附加到dom中:

let test = document.getElementById('test-tile');
test.append(potion.src);
它只是将“glove.png”打印到我要定位的dom元素。 有什么方法可以附加它,而不是jquery的.attr或
.data?

您需要创建一个图像
元素
,然后将其放置在DOM上。鉴于您可以访问
.png
文件名,这一点相对来说很简单:

let img = document.createElement('img');
let test = document.getElementById('test-tile');
img.src = potion.src;

test.append(img);

您需要创建实际的HTML元素,可能是一个
”;
} 
}
var魔药=新武器(24,'魔药','手套.png');
药剂展示(“#测试瓷砖”)
img{
宽度:50px;
高度:50px;
边框:1px实心#C00;
}

您可以附加一个指向源.png文件的图像元素。像这样:

test.append('<img src="' + potion.src + '"/'>)
test.append('))

您需要创建实际的HTML元素,在本例中可能是一个
,以附加,而不仅仅是文本URL。@注意,它的要点是在平铺地图上随机生成一些武器,每个武器都有属性,例如强度,当玩家踩到包含该对象的磁贴时,会将其附加到伤害中。@Rorymcrossan您能为javascript中创建的html元素分配属性吗?@RonyDKid html是一种构造文档的非常简单的方法。如果您想显示文本以外的内容,您需要调整一些CSS或附加画布或img标记。是的,但只需将整个HTML字符串提供给
append()
就容易多了。我建议在你的对象中创建一个函数来创建HTML并为你添加它。因此,基本上,你不能将整个对象添加到HTML元素中?你可以,但你必须单独设置图像元素。当您附加一个原始对象时,它将推断类型为字符串,并很可能将
[object object]
附加到您的磁贴中。