div中只有一个节点-HTML、JavaScript

div中只有一个节点-HTML、JavaScript,javascript,html,image,Javascript,Html,Image,我看到了与.appendChild()和.innerHTML不同的东西,但是要使用Image()JavaScript对象 我有10个变量,img[1,2,3,4…10],是用JavaScript(new Image())创建的,可以预加载,现在我只想一次将它插入到我的div中 innerHTML返回类似于HTMLImageObject的内容,并且appendChild()无法按我的要求工作 到目前为止,我的解决方案是: document.getElementById("teste").remov

我看到了与
.appendChild()
.innerHTML
不同的东西,但是要使用
Image()
JavaScript对象

我有10个变量,
img[1,2,3,4…10]
,是用JavaScript(
new Image()
)创建的,可以预加载,现在我只想一次将它插入到我的div中

innerHTML
返回类似于
HTMLImageObject
的内容,并且
appendChild()
无法按我的要求工作

到目前为止,我的解决方案是:

document.getElementById("teste").removeChild(document.getElementById("teste").firstChild);
document.getElementById("teste").appendChild(img1);

有人有更好的想法吗?

你的方法很可靠,但也许像这样更容易阅读。。另外,lastChild的性能优势也很小

var ele = document.getElementById('teste');

while(ele.lastChild) { 
    ele.removeChild(ele.lastChild)
}

ele.appendChild(img1);

您还可以在某处保留对元素的引用

var ele = document.getElementById('teste'), img = ele.lastChild;

ele.removeChild(img);
ele.append(img1);
如果jQuery可用,可以使用

$('#teste').clear().append(img1);
根据您使用的浏览器,您可能还可以访问HTML5选择器API,即使没有jquery,jquery可能是document.element方法的替代方法

document.querySelector('#tests').first();

如果您不想
appendChild
使用
replaceChild
。例如:

div.replaceChild(imgs[i], div.firstChild);

演示:你是什么意思:
顺便说一句,除非你想被偷或死,否则不要来巴西参加世界杯;-)来自一位巴西人的好建议
欢迎来到Stack Overflow。请参阅,以获取有关如何提出好问题的建议。在您的情况下,我们需要更多关于
appendChild
如何工作的详细信息。您应该能够附加一个新图像();我以前做过。@ScottMermelstein我认为他的方法有效,他只是在寻找更好的方法solution@AshishMishra请忽略这一点,这是无关紧要的,是从question@ZachSaucier是的,我只是在寻找更好的解决方案谢谢!我想要的是替换儿童。谢谢,querySelector更好。