关于清空节点删除节点和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,了解了区别我想在项目中就可以根据具体情况来具体应用了!

好了,今天就到这里了~

原文地址:https://www.cnblogs.com/web001/p/8410717.html

时间: 2024-10-12 19:23:00

关于清空节点删除节点和clone方法的相关文章

JQ中的clone()方法与DOM中的cloneNode()方法

JQ中的clone()方法与DOM中的cloneNode()方法 cloneNode()定义和用法 cloneNode()方法创建节点的拷贝,并返回该副本. 语法: node.cloneNode(deep);  其接收一个可选参数"deep",为布尔类型,默认是false. 当设置为true,克隆当前节点,属性及当前节点的后代.若设置为false,仅仅克隆当前元素节点本身. 扩展:  使用cloneNode()方法,当被克隆的节点绑定了事件处理程序,事件处理程序是否会被一同克隆,这个我

Effective Java 第三版——13. 谨慎地重写 clone 方法

Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化. 在这里第一时间翻译成中文版.供大家学习分享之用. 13. 谨慎地重写 clone 方法 Cloneable接口的目的是作为一个mixin接口(条目 20),公布这样的类允许克隆.不幸的是,它没有达到这个目的.它的主要缺点是

java Object对象的clone方法

参考copy链接:http://blog.csdn.net/bigconvience/article/details/25025561 在看原型模式,发现要用到clone这个方法,以前和朋友聊过,没怎么看过,刚好要用,就看看了. 源码解释: /** * Creates and returns a copy of this object. The precise meaning * of "copy" may depend on the class of the object. The

谨慎重载clone方法

本文涉及到的概念 1.浅拷贝和深拷贝 2..clone方法的作用和使用方式 3.拷贝构造器和拷贝工厂 1.浅拷贝和深拷贝 浅拷贝 一个类实现Cloneable接口,然后,该类的实例调用clone方法,返回一个新的实例. 新的实例与原来的实例是不同的对象. 新的实例的各个非引用类型的成员变量值与原来的实例的成员变量值相同. 对于引用类型的成员变量,新实例的成员变量和旧实例的成员变量,都是指向相同的对象,引用值相同,这种称作浅拷贝(shallow copying) public class Car

详解Java中的clone方法

转载自:http://blog.csdn.net/zhangjg_blog/article/details/18369201 Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那么在java语言中,有几种方式可以创建对象呢? 1 使用new操作符创建一个对象 2 使用clone方法复制一个对象 那么这两种方式有什么相同和不同呢? new操作符的本意是

C#关于Clone()方法的介绍

日常啪啪啪代码的时候,常常遇到浅复制与深复制的问题,下面就自己经验写写,有问题请留言! 例如我有一个简单的类: class People { public int _age; public string _name; public People(int Age,string Name) { _age = Age; _name = Name; } } 常见的赋值语句,如: People Mike = new People(12,"Mike"); People Mike2 = Mike;

Cloneable接口和Object的clone()方法

http://www.cnblogs.com/xrq730/p/4858937.html 为什么要克隆 为什么要使用克隆,这其实反映的是一个很现实的问题,假如我们有一个对象: public class SimpleObject implements Cloneable { private String str; public SimpleObject() { System.out.println("Enter SimpleObject.constructor()"); } public

git for c#, clone方法

private static void clone() { string wkDir = @"E:\DotNet2010\单位工程\Git.Client\lib2Test\ConsoleApplication1\bin\Debug\D2Git"; string url = "http://localhost/git/test.git"; CloneOptions co = new CloneOptions { CredentialsProvider = (x,y,z

clone()方法、深复制和浅复制

clone方法 Java中没有明确提供指针的概念和用法,而实质上没个new语句返回的都是一个指针的引用,只不过在大部分情况下开发人员不需要关心如何去操作这个指针而已. 在实际编程中,经常会遇到从某个已有对象A创建出另一个与A具有相同状态的对象B,并且B的修改不会影响到A的情况,例如Prototype(原型)模式中,就需要clone一个对象实例. 仅仅通过简单的复制操作显然无法达到这个目的,而Java提供了一个简单有效的clone()方法来满足这个需求. Java中所有的类默认都继承自Object