jQuery技术

[JS][jQuery]清空元素html()、innerHTML= 与 empty()的区别:关

字号+ 作者:H5之家 来源:H5之家 2015-11-05 12:08 我要评论( )

分别采用后 bing(eventType,[data],Listener)//data为可选参数,one()该方法绑定的事件触发一次后自动删除, unbing(eventType,Listener),实例:unbind(eventType

清空元素html("")、innerHTML="" 与 empty()的区别


一、清空元素的区别      1、错误做法一:            $("#test").html("");//该做法会导致内存泄露 2、错误做法二:            ;//该做法会导致内存泄露 3、正确做法:        //$("#test").empty();


二、原理:

在 jquery 中用 innerHTML 的方法来清空元素,是必然会导致内存泄露的,由于 jquery 对于同一元素多事件处理没有直接采用浏览器事件模型,而是自己缓存事件,遍历触发,以及便于 trigger 程序触发 :

  •             });  
  • 采用 data 方法,将一些数据关联到了元素上面,上述事件即是采用该机制缓存事件监听器。


    那么就可以知道,直接 innerHTML=“” 而不通知 jquery 清空与将要删除元素关联的数据,那么这部分数据就再也释放不了了,即为内存泄露。



    版权声明:本文为博主原创文章,未经博主允许不得转载。

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • 7个有用的jQuery小技巧

      7个有用的jQuery小技巧

      2016-02-26 13:02

    • jQuery制作select双向选择列表

      jQuery制作select双向选择列表

      2016-02-26 11:00

    • 全面详细的jQuery常见开发技巧手册

      全面详细的jQuery常见开发技巧手册

      2016-02-26 10:02

    • 强大的jQuery移动插件Top 10

      强大的jQuery移动插件Top 10

      2016-02-25 09:05

    网友点评
    <