function removeItem(_element){
         var _parentElement = _element.parentNode;
         if(_parentElement){
                _parentElement.removeChild(_element);
         }
}
有一个这样的函数,来删除动态生成的LI。。但是怎么就删不掉当前的LI,而删除了LI里面的<IMG>标签呢?
<li id="man_nav_1" onclick="list_sub_nav(id,'管理首页','manFrame.html')" value="管理首页" class="bg_image_onclick">管理首页<img src="images/Undo.gif" width="20" height="20" onclick="removeItem(this);" /></li>

解决方案 »

  1.   

    onclick = "removeItem(this.parentNode)";改成这样
      

  2.   

    万分感谢。。不过我在想。。如果在ONCLICK里面加.parentNode父节点,
    跟在var _parentElement = _element.parentNode这里加,
    加成var _parentElement = _element.parentNode.parentNode; 这里加成这样有区别吗?
      

  3.   

    我刚才测试了一下不样的。function removeItem(_element){ 
            //这是你原来的
            /*var _parentElement = _element.parentNode; 
            if(_parentElement){ 
                    _parentElement.removeChild(_element); //这样只能删除img
            } */
            //这是我帮你修改的
             var _parentElement = _element.parentNode.parentNode; 
            if(_parentElement){
                 _parentElement.removeChild(__element.parentNode);//注意这里哦,在括号里不是写成"_element" ,而是这样写"_element.parentNode"  
            }