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

WBOY
풀어 주다: 2016-05-16 17:41:53
원래의
1132명이 탐색했습니다.

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}

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿