如果子元素不存在则追加图像如果存在则替换

时间:2014-04-10 07:39:05

标签: javascript replace append

我有这个代码将图像附加到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) ;

1 个答案:

答案 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;
  };