我很确定当我看到答案时我会努力(非常努力)但是当我console.log(markerDiv)
时,控制台只输出img元素。我做错了什么?
编辑为答案建议:
var dynamic = document.createElement("img");
dynamic.src = "images/dynamic.png";
dynamic.setAttribute("id", "img-" + markerData[data].registration);
var markerDiv = document.createElement("div");
markerDiv.appendChild(dynamic);
console.log(markerDiv);
console.log的结果:
由于
答案 0 :(得分:3)
.appendChild
返回对子项的引用,而不是父项,因此您不能将其链接起来:
var markerDiv = document.createElement("div").appendChild(dynamic);
// markerDiv === dynamic
打破链条,它会起作用:
var markerDiv = document.createElement("div");
markerDiv.appendChild(dynamic);
答案 1 :(得分:2)
您没有将新创建的div附加到DOM。 Node.appendChild
返回新创建的节点(在您的情况下为HTMLImageElement
)。
var div = document.createElement("div");
div.appendChild(dynamic);
document.appendChild(div);