清空元素html("") innerHTML="" 与 empty()的区别和应用有哪些
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,今天就跟大家聊聊有关清空元素html("") innerHTML="" 与 empty()的区别和应用有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可
千家信息网最后更新 2025年01月21日清空元素html("") innerHTML="" 与 empty()的区别和应用有哪些
今天就跟大家聊聊有关清空元素html("") innerHTML="" 与 empty()的区别和应用有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
一、清空元素的区别
1、错误做法一:
$("#test").html("");//该做法会导致内存泄露
2、错误做法二:
$("#test")[0][xss_clean]=""; ;//该做法会导致内存泄露
3、正确做法:
//$("#test").empty();
二、原理:
在 jQuery 中用 innerHTML 的方法来清空元素,是必然会导致内存泄露的,由于 jquery 对于同一元素多事件处理没有直接采用浏览器事件模型,而是自己缓存事件,遍历触发,以及便于 trigger 程序触发 :
// Init the element's event structure var events = jQuery.data(elem, "events") || jQuery.data(elem, "events", {}), handle = jQuery.data(elem, "handle") || jQuery.data(elem, "handle", function(){ // Handle the second event of a trigger and when // an event is called after a page has unloaded return typeof jQuery !== "undefined" && !jQuery.event.triggered ? jQuery.event.handle.apply(arguments.callee.elem, arguments) : undefined; });
采用 data 方法,将一些数据关联到了元素上面,上述事件即是采用该机制缓存事件监听器。
那么就可以知道,直接 innerHTML="" 而不通知 jquery 清空与将要删除元素关联的数据,那么这部分数据就再也释放不了了,即为内存泄露。
remove: function( selector ) { if ( !selector || jQuery.filter( selector, [ this ] ).length ) { // Prevent memory leaks jQuery( "*", this ).add([this]).each(function(){ jQuery.event.remove(this); jQuery.removeData(this); }); if (this[xss_clean]) this[xss_clean].removeChild( this ); } }, empty: function() { // Remove element nodes and prevent memory leaks jQuery(this).children().remove(); // Remove any remaining nodes while ( this.firstChild ) this.removeChild( this.firstChild ); }
看完上述内容,你们对清空元素html("") innerHTML="" 与 empty()的区别和应用有哪些有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
元素
事件
做法
内存
内容
数据
应用
方法
缓存
错误
关联
中用
原理
必然
更多
机制
模型
浏览器
监听器
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
义马软件开发哪家有名
英语版的网络安全手抄报
网络安全和负载均衡哪个好
西安电子软件开发
r240服务器的操作系统
网络安全建设作文
网络安全的稿子600字
上海网络技术服务工程
北京大学商业养老保险数据库
部队网络安全对照发言
学校网络技术竞赛图片
服务器等级80
小学生网络安全宣传海报
数据库中触发器的实验总结
win8dns辅服务器未响应
服务器多个环境
网络安全特性包含
excel与数据库的叙述
最好用的dns服务器
住建部软件开发商
英语版的网络安全手抄报
服务器蓝屏原因
架设代理服务器要钱吗
数据库中的自定义列
如何做好一机两网的网络安全
sql 如何新建数据库
网络安全实战详解下载
网络技术与社会历练途径
北京美团外卖数据库
网络技术教程 下载