• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
麦兜家园
优秀是一种习惯
博客园    首页    新随笔    联系   管理    订阅  订阅
关于清空节点删除节点和clone方法

关于清空节点内容,在jquary里的实现有:

1、html("")为空

$("div").html();//仅仅清空元素的内容,会保留事件

像这种就是清空内容,但是若是有事件的话还会保留,缺点在于会占用内存,虽然有时候占有内存不多但是总归是占有一定的空间。

2、empty()

$("div").empty();//仅仅清空元素的内容,也会清空事件,释放内存

而empty方法就是清空所有内容,包括清空事件,当然也就释放了内存,解决了内存泄漏的问题。

以上两个方法可以根据不同场景来应用。

接下来就是删除节点remove方法了:

$("div").remove()//删除自己

这个remove方法和empty方法的区别就是:前者是连自己都清除删除掉了,而后者是删除自己的“子孙后代”,就饿是内容及事件等。

说完删除接下来就是来说说clone方法,也就是克隆方法。

$(".p").clone().appendTo("div");//clone()里是参数的,不穿参数是深度复制

拿昨天博客的例子来说就是这段代码复制了一个p到div里面了,看效果图:

有时候可能会有这样的需求呢,那关于clone的方法是有参数的,关于两个参数的区别是什么呢,来看代码:

//$(".p").clone(false).appendTo("div");//传参数false和不穿参数是一样的都是深度复制,但是不会复制事件
        //$(".p").clone(true).appendTo("div")://都是深度复制,但是会复制事件

所以说一般情况不穿参数就是相当于直接传了false,了解了区别我想在项目中就可以根据具体情况来具体应用了!

好了,今天就到这里了~

 

posted on 2018-02-03 20:54  麦兜家园  阅读(585)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3