function removeImage(imgURL)  // imgURL is the URL for the images to be removed
{
     
     var _divTag = document.getElementsByTagName("div")[0];
     
     var _imgTagList = document.getElementsByTagName("img");
                  
    // _divTag.removeChild(_imgTagList[1]);
    
     for(i=0; i< _imgTagList.length; i++)
       {
       if (_imgTagList[i].src == imgURL)
          {
            _divTag.removeChild(_imgTagList[i]);
            
          }
        }
 }----
这一段javascript怎么不能工作?好像是for loop里的有问题。请帮忙看看。

解决方案 »

  1.   

     _divTag.removeChild(_imgTagList[i]);
    也许_imgTagList[i]的父节点不是_divTag
    试试这样
    _imgTagList[i].parentNode.removeChild(_imgTagList[i]);
      

  2.   

    _divTag.removeChild(_imgTagList[1]);这一行验证是可以的,_imgTagList的父节点是_divTag,应该没错.
      

  3.   

    _divTag.removeChild(_imgTagList[i]);
    那就在这行后加个break;
      

  4.   

    _imgTagList[i].src得到的是图片的绝对路径,如果你用的是相对路径的话,要处理一下。<div>
    <img src="1.jpg">
    <img src="2.jpg">
    <img src="3.jpg">
    <img src="4.jpg">
    <img src="5.jpg">
    </div>
    <script type="text/javascript">
    function removeImage(imgURL){      
         var _divTag = document.getElementsByTagName("div")[0];      
         var _imgTagList = document.getElementsByTagName("img");                   
        // _divTag.removeChild(_imgTagList[1]);     
         for(i=0; i< _imgTagList.length; i++){
           var temp = _imgTagList[i].src.split('/');
           if (temp.pop()==imgURL){
                _divTag.removeChild(_imgTagList[i]);
                 
            }
          }
     }
     removeImage('1.jpg');
    </script>