动态删除div

时间:2013-09-10 08:43:28

标签: javascript html

我必须在页面中添加多个缩略图图像(在gengrid函数中添加501.jpg,502.jpg等),每个页面在点击时打开另一个图像(port.jpg),然后单击另一个缩略图图像端口.jpg必须删除。问题是在这种情况下removeChild不起作用。谁能请帮忙... 这是代码

<script type="text/javascript">
var lastper=null;
function gengrid()
      {
          var i=0;
          var num_stud=8;
          var newdiv;
          var divIdName;
          var maindiv;
          for(i=1;i<=num_stud;i++)
          {
             newdiv = document.createElement('div');
             divIdName = '50'+i;
             newdiv.setAttribute('id',divIdName);
             newdiv.setAttribute('onclick','addit('+i+')');
             newdiv.innerHTML = '<img src=50'+i+'.jpg alt="a"></img>';
             maindiv=document.getElementById('main');
             maindiv.appendChild(newdiv);
          }
      }
   gengrid();
   function addit(picno)
      {
          var person = document.getElementById('50'+picno);
          if(lastper)
             lastper.removeChild('portfolio');
          var newdiv = document.createElement('div');
          var divIdName = 'portfolio';
          newdiv.setAttribute('id',divIdName);
          newdiv.innerHTML ='<img src="port.jpg" alt="a"></img>';
          person.appendChild(newdiv);
          alert(picno+''+lastper.id+person.id);
          lastper = document.getElementById('50'+picno);
       } 
  </script>

4 个答案:

答案 0 :(得分:0)

if(lastper){
         lastper.removeChild('portfolio');return;}

答案 1 :(得分:0)

我不相信这是元素的有效ID。 ID必须以字母开头。

lastper = document.getElementById('50'+picno);

What are valid values for the id attribute in HTML?

答案 2 :(得分:0)

试试这个

  function addit(picno)
  {
      var person = document.getElementById('50'+picno);
      lastper = document.getElementById('50'+picno);
      if(lastper)
         lastper.removeChild('portfolio');
      var newdiv = document.createElement('div');
      var divIdName = 'portfolio';
      newdiv.setAttribute('id',divIdName);
      newdiv.innerHTML ='<img src="port.jpg" alt="a"></img>';
      person.appendChild(newdiv);
      alert(picno+''+lastper.id+person.id);          
   } 

答案 3 :(得分:0)

主要问题是您将字符串传递给removeChild调用。使用

lastper.removeChild(document.getElementById('portfolio'));

将改为解决这个问题。

您的警报是次要问题。它将在第一次失败,因为“lastper”为null,因此没有id属性。