尝试第二次从div中删除子级(javascript)

尝试第二次从div中删除子级(javascript),javascript,Javascript,我第二次尝试使用js删除子元素,但收到错误消息Uncaught DomeException:未能在“节点”上执行“removeChild”:要删除的节点不是此节点的子节点。 在第三方 div,obtainImgDiv包含一个id为getImageId的img,每次按下按钮时,我都会尝试移除并替换它。我尝试对事件侦听器中的第二个函数使用setTimeout方法,但它仍然给出相同的错误 var getImageId = document.getElementById("cat"); var obt

我第二次尝试使用js删除子元素,但收到错误消息Uncaught DomeException:未能在“节点”上执行“removeChild”:要删除的节点不是此节点的子节点。 在第三方

div,obtainImgDiv包含一个id为getImageId的img,每次按下按钮时,我都会尝试移除并替换它。我尝试对事件侦听器中的第二个函数使用setTimeout方法,但它仍然给出相同的错误

var getImageId = document.getElementById("cat");

var obtainImgDiv = document.getElementById("images4slideshow");

function SwitchForSecondSlide(getImageId,obtainImgDiv) {
    obtainImgDiv.removeChild(getImageId);

    var newImg = document.createElement("img");

    newImg.setAttribute("id", "cat");
    newImg.setAttribute("src", "Images/cat2.jpg");
    newImg.setAttribute("class", "cat");

    obtainImgDiv.appendChild(newImg);
}

slideShowButton2.addEventListener("click",  function  () {
    SwitchForSecondSlide(getImageId,obtainImgDiv);
}, false);

function SwitchForThirdSlide(getImageId,obtainImgDiv) {
   obtainImgDiv.removeChild(getImageId);  
}

slideShowButton3.addEventListener("click", function() {
    SwitchForThirdSlide(getImageId,obtainImgDiv);
},false)
新创建的图像var newImg=document.createElementimg;未设置为您的获取imgdiv。在启动过程中只执行一次获取imgdiv,因此它仍然包含旧的子项,您可以简单地替换全局变量


而不是var newImg=document.createElementimg;,您可以tryobtainImgDiv=document.createElementimg;并将包含newImage变量的其他语句更改为obtainImgDiv

我尝试将新图像追加到div'obtainImgDiv.appendChildnewImg;'获取imgdiv是您在第一行删除的东西,如果您尝试附加到DOM中不存在的已删除子对象,那么子对象是否会在DOM中???我不明白,您是说我必须先删除获取imgdiv吗?