我有这个代码将图像附加到centercol元素
var largeImage = document.createElement('img');
largeImage.id = 'largeImage';
var newNode = document.querySelector('#centercol');
newNode.appendChild(LargeImage);
但是我想替换附加元素(如果它已经存在)
我要求if else声明;这是我逻辑的一个例子
if {
while(newNode.hasChildNodes()) newNode.removeChild(newNode.lastChild); //remove child nodes
} else {
newNode.appendChild(largeImage) ;
答案 0 :(得分:0)
有许多方法, here 4 examples ,使用:
1)替换图像的 src 属性:
i.src=C.g();
2)将 replaceChild 与父母一起使用(注意:你必须首先传递新的,然后是旧的):
i.parentNode.replaceChild(n,i);
3)替换父母的 innerHTML 。这会覆盖任何孩子,但可以一次添加更多元素:
i.parentNode.innerHTML='<img src="...">';
4)预加载:创建图像并使用 onload 事件到 replaceChild 。
n.onload=
function(e)
{
i.parentNode.replaceChild(e.target,i);
i=e.target;
};