我们在开发中有很多时候需要利用js来对一个dom元素进行清除操作,比如说清除input框中的内容,input绑定的id为 “content”,那么我们会有三种方式进行清除。
-
js原生方式进行清除
document.getElementById("content").value="";
其他标签的话是(比如说span标签):
document.getElementById("tagName").innerHTML="";
-
jquery实现方式
// 第一种方式 $('#content').html(''); // 第二种方式,推荐使用(如果是jq操作的话) $('#content').empty();
- 那么上面两种方式有什么区别呢?
- 第一种方法会造成内存泄漏,它只清空该对象的内部元素,但是不会清除注册在内部元素上的事件。如果id=content的code标签上还注册有其它事件,那些事件代码也要占用内存。
- 第二种方式会清空内容和注册在该标签上的事件,这样就防止内存泄漏。
- 那么上面两种方式有什么区别呢?