欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

jquery的remove删除不了元素呀解决方案

更新时间: 2014-01-05 01:51:41 责任编辑: Author_N1

 

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()
--参考方法--
你最后弹出的本意就是要弹出个空对话框吗?
如果是这样,就没问题啊!
--参考方法--
引用:
remove 并不没有移除对象,只是不显示了,还可用选择器 选择到该对象,并且还可以调用该对象的属性。
empty  是真正的移除 ,相当于调用该父对象的html("").

我认为不对,jquery remove源码:

remove: function( selector, keepData ) {
var elem,
elems = selector ? jQuery.filter( selector, this ) : this,
i = 0;

for ( ; (elem = elems[i]) != null; i++ ) {

if ( !keepData && elem.nodeType === 1 ) {
jQuery.cleanData( getAll( elem ) );
}

if ( elem.parentNode ) {
if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) {
setGlobalEval( getAll( elem, "script" ) );
}
elem.parentNode.removeChild( elem );
}
}

return this;
}

elem.parentNode.removeChild( elem );这句显示已经在节点树里删除了该元素。而empty则是清空其子元素,但本身还是保留的。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:51:41
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/2159/
本文WWW.DOC100.NET DOC100.NET版权所有。