关于清空节点删除节点和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 @ 2018-02-03 20:54  麦兜家园  阅读(552)  评论(0编辑  收藏  举报