日期:2014-05-16  浏览次数:20428 次

jquery的remove删除不了元素呀
删除后显示没了,但取容器html()代码时,还存在。具体代码如下
 <div id="messages-fj" style="display: none;">
        <h3>附件管理</h3>
        <div id="messages-fj-con">
        <p>本行测试<br/><small><a href='javascript:void(0)' onclick='attr_del(this)' class='remove-link'>删除</a> | <a href='#' class='remove-link'>设为封面</a></small></p>
        </div>
 </div>


  function attr_del(m_this)
      {
       _p=$(m_this).parent().parent();
        _p.remove();
      alert($("#messages-fj-con").html());//输出
      }


在“输出”那里,结果没有任何变动。



------解决方案--------------------
ie8测试正常
------解决方案--------------------
没问题。
用调试器看看 _p=$(m_this).parent().parent();是什么吧。
<div id="messages-fj" style="display: none;">
        <h3>附件管理</h3>
        <div id="messages-fj-con">
        <p>本行测试<br/><small><a id='vv' href='javascript:void(0)' onclick='attr_del(this)' class='remove-link'>删除</a> 
------解决方案--------------------
 <a href='#' class='remove-link'>设为封面</a></small></p>
        </div>
 </div>
 
 <script>
 
 function attr_del(m_this)
 {
     _p=$(m_this).parent().parent();
   _p.remove();
 alert($("#messages-fj-con").html());//输出
 }
 
 var $a = $('#vv');
 var $b = $a.parent();
 var $c = $b.parent();
 $c.remove();
 var $e = $("#messages-fj-con").html();
 
 </script>

------解决方案--------------------
remove 并不没有移除对象,只是不显示了,还可用选择器 选择到该对象,并且还可以调用该对象的属性。
empty  是真正的移除 ,相当于调用该父对象的html("").
------解决方案--------------------
测了下~正常----IE9 chrome
------解决方案--------------------
你输出了 删除的元素内部的元素的html()
------解决方案-------------------