我无法删除与我可以移除的另一个孩子完全相同的javascript中的孩子

时间:2016-08-23 16:52:12

标签: javascript html appendchild removechild



<!DOCTYPE html>
<html>
<head>
</head>
  
<body>
  <div id="box">
  <button id="start" type="button" onclick="myStart()" > Start</button>
 
<script>
  function myStart() {
    document.getElementById("start").style.display="none";
    
    var rosso = casuale(0,1);
    if (rosso==0) {
    var imgtest1= document.createElement("input");
	imgtest1.src="http://www.w3schools.com/tags/logo_w3s.gif";
	imgtest1.type="image";
	imgtest1.style.height="50px";
	imgtest1.style.width="50px";
	imgtest1.style.position="absolute";
	imgtest1.style.top="300px";
	imgtest1.style.left="0px";
	imgtest1.onclick= function() {	document.getElementById("box").removeChild(imgtest1)
								}
     document.getElementById("box").appendChild(imgtest1);
	}
	else {
	var imgtest1= document.createElement("input");
	imgtest1.src="https://s3.amazonaws.com/impressivewebs/2014-02/w3schools-logo.jpg";
	imgtest1.type="image";
	imgtest1.style.height="50px";
	imgtest1.style.width="50px";
	imgtest1.style.position="absolute";
	imgtest1.style.top="300px";
	imgtest1.style.left="0px";
	imgtest1.onclick= function() {	document.getElementById("box").removeChild(imgtest1)}
	document.getElementById("box").appendChild(imgtest1);
	}
    }
    
function casuale(min, max) { 
    return Math.floor(Math.random() * (max - min + 1) + min); 
}
</script>
</div>
</body>
&#13;
&#13;
&#13;

我对此代码有点问题:

var rosso = casuale(0, 3)
if (rosso == 0) {
  var imgtest1 = document.createElement("input");
  imgtest1.src = "graphic/badtarget.png";
  imgtest1.type = "image";
  imgtest1.style.height = "50px";
  imgtest1.style.width = "50px";
  imgtest1.style.position = "absolute";
  imgtest1.style.top = "300px";
  imgtest1.style.left = "0px";
  imgtest1.onclick = function() {
    error++;
    checkerror();
  }

  document.getElementById("box").appendChild(imgtest1);

} else {
  var imgtest1 = document.createElement("input");
  imgtest1.src = "graphic/goodtarget.png";
  imgtest1.type = "image";
  imgtest1.style.height = "50px";
  imgtest1.style.width = "50px";
  imgtest1.style.position = "absolute";
  imgtest1.style.top = "300px";
  imgtest1.style.left = "0px";
  imgtest1.onclick = function() {
    point++;
    document.getElementById("box").removeChild(imgtest1);
    if (point == maxp) {
      livello2(7);
      cleartarget();
    }
  }
  document.getElementById("box").appendChild(imgtest1);
}

当我试图移除孩子时,&#34; imgtest1&#34;使用goodtarget.png图像我没有问题,相反,当我想用​​badtarget.png图像删除孩子按钮留在这里,没有办法删除它。为什么会这样?有办法解决这个问题吗?如果需要,我可以发布其他代码行。 感谢

编辑:很抱歉浪费你的时间,在代码片段中代码按预期工作(绿色和蓝色图像都可以消失),但在我的程序中不能。 我用于删除子代的代码行是应该在级别结束时调用的函数:

 var myNode = document.getElementById("box");
 while (myNode.firstChild) {
 myNode.removeChild(myNode.firstChild);
 }

此函数无法移除使用&#34; imgtest1.src =&#34; graphic / badtarget.png&#34;;&#34;创建的对象。 谢谢你的时间

0 个答案:

没有答案