1. 程式人生 > >jQuery11 data() : 數據緩存

jQuery11 data() : 數據緩存

rip tel 引用 -c color ttr 部分 obj ges

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標題文檔</title>
<script src="jquery-2.0.3.js"></script>
<script>

$(function(){
    
    $(#div1).attr(name,hello);
    alert( $(#div1).attr(
name) ); document.getElementById(div1).setAttribute(name,hello); alert( document.getElementById(div1).getAttribute(name) ); $(#div1).prop(name,hello); alert( $(#div1).prop(name) ); document.getElementById(div1)[name] = hello; alert( document.getElementById(
div1)[name] ); $(#div1).data(name,hello); alert( $(#div1).data(name) ); }); //DOM元素與對象之間互相引用,大部分瀏覽器就會出現內存泄漏 var oDiv = document.getElementById(div1); var obj = {}; oDiv.name = obj; obj.age = oDiv; //會出現內存泄漏 $(#div1).attr(name,obj); //換成,就不用擔心內存泄漏 $(#div1).data(
name,obj); $(body).data(age,obj); //data就是通過cache把dom元素和對象間接的聯系到一起。這就防止了內存泄漏。如下圖。 var cache = {// 1 : { name : obj }, 2 : { age : obj } }; </script> </head> <body> <div id="div1" xxx=" "></div> </body> </html>

技術分享

jQuery11 data() : 數據緩存