jQuery のデータ API 実装にはデータをキャッシュする効果があります
IE 7 を使用すると (IE8 はコンソールで IE7 モードに切り替わります)、DOM ノードにカスタム データ属性がある場合、DOM ノードをチェックして jQuery18305664906559272507 の形で属性を確認できます。 、これはデータ ストレージ オブジェクトからカスタム データを取得するために使用される構造です。
カスタム データ属性が json 形式の文字列である場合、キャッシュされたデータが変更されると、変更されたデータがキャッシュ システムに残り続けるため、注意しないとバグが発生する可能性があります。
;
🎜>< ;script>
var ノード = $("#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"); (data2) ;
console.log('data===data2',data===data2);
var data3 = JSON.parse(node.attr("data-json"));//次のような値を取得します。
console.log(data3);
実行結果
コードをコピー
オブジェクト {a: 123, b: "hello"}
data===data2 true
オブジェクト {a: 123, b: 456}