>웹 프론트엔드 >JS 튜토리얼 >사용자 정의 데이터 속성이 json 형식인 경우 jQuery의 데이터 API 문제에 대한 토론 string_javascript 기술

사용자 정의 데이터 속성이 json 형식인 경우 jQuery의 데이터 API 문제에 대한 토론 string_javascript 기술

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-05-16 17:41:531190검색

jQuery의 데이터 API 구현은 데이터 캐싱 효과가 있습니다
IE 7을 사용하면(IE8은 콘솔에서 IE7 모드로 전환됨) DOM 노드에 사용자 정의 데이터 속성이 있는 경우 DOM 노드를 확인하여 jQuery18305664906559272507 모양의 속성을 볼 수 있습니다. , 이는 데이터 저장소 객체에서 사용자 정의 데이터를 가져오는 데 사용되는 구성입니다.

사용자 정의 데이터 속성이 json 형식 문자열인 경우 캐시된 데이터가 수정되면 수정된 데이터가 캐시 시스템에 계속 존재하게 되므로 주의하지 않으면 일부 버그가 발생할 수 있습니다

코드 복사 코드는 다음과 같습니다.

;



🎜>< ;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"); (data2) ;
console.log('data===data2',data===data2)
var data3 = JSON.parse(node.attr("data-json"));// 다음과 같은 값을 얻으세요
console.log(data3)

🎜>실행 결과




코드 복사

코드는 다음과 같습니다.
{"a": 123,"b":456} 객체 {a: 123, b: 456} 객체 {a: 123, b: 456} data===data1 false 객체 {a: 123, b: "hello"} data===data2 true
객체 {a: 123, b: 456}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.