国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

當自定義數據屬性為json格式字符串時jQuery的data api問題探討

2024-05-06 14:19:39
字體:
來源:轉載
供稿:網友
jQuery 的 data API 實現方式有緩存數據的效果
使用 IE 7 (IE8+ 在控制臺切換至IE7 模式),當DOM 節點有自定義數據屬性時,檢查 DOM 節點即可看到 形如 jQuery18305664906559272507 的屬性,這便是 用于從數據存儲對象中獲取自定義數據的建。

當自定義數據屬性是一個 json 格式字符串時,緩存的數據如果被修改, 則修改后的數據繼續存在于緩存系統中, 如果不留意,這可能導致一些BUG
代碼如下:
<!DOCTYPE HTML>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
</head>
<body>
<input type="hidden" value="" data-json='{"a":123,"b":456}' id="tst" />
<script>
var node = $("#tst");
console.log(node.attr("data-json"));
var data = node.data("json");
console.log(data);
data.b = 'hello';
var data1 = JSON.parse(node.attr("data-json"));
console.log(data1);
console.log('data===data1',data===data1);
var data2 = node.data("json");
console.log(data2);
console.log('data===data2',data===data2);
var data3 = JSON.parse(node.attr("data-json"));//這樣取值不受緩存影響
console.log(data3);
</script>
</body>
</html>

運行結果
代碼如下:
{"a":123,"b":456}
Object {a: 123, b: 456}
Object {a: 123, b: 456}
data===data1 false
Object {a: 123, b: "hello"}
data===data2 true
Object {a: 123, b: 456}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 鄂温| 香港 | 曲阳县| 东乡族自治县| 从化市| 威信县| 民县| 鄯善县| 上饶市| 商都县| 阳东县| 勐海县| 攀枝花市| 张家港市| 衡阳市| 关岭| 衢州市| 金坛市| 阿勒泰市| 屯留县| 英吉沙县| 韶山市| 柏乡县| 林周县| 密云县| 桐城市| 江川县| 济阳县| 吉安县| 德惠市| 临西县| 新郑市| 阿勒泰市| 宿迁市| 衢州市| 攀枝花市| 新昌县| 房产| 南溪县| 新竹县| 长治市|