2
이 사람이이 차이를 설명 할 수 호출JQuery와 데이터()
container.data["state"] = { test: 1 }; // doesn't work
는 내가 처음 건설 작동하는지 발견을, 마지막 하나는 그렇지 않습니다. 호출은 컨테이너에 초기 데이터를 채 웁니다. 즉, 'state'는 호출 될 때 비어 있습니다.
이 사람이이 차이를 설명 할 수 호출JQuery와 데이터()
container.data["state"] = { test: 1 }; // doesn't work
는 내가 처음 건설 작동하는지 발견을, 마지막 하나는 그렇지 않습니다. 호출은 컨테이너에 초기 데이터를 채 웁니다. 즉, 'state'는 호출 될 때 비어 있습니다.
data
은 배열이 아니라 함수입니다. 두 번째 스 니펫에있는 함수의 인덱스에 액세스하려고합니다. 작동하지 않습니다. 예를 들어, http://api.jquery.com/jQuery.data/
브라우저에서 개발 콘솔을 열고,이 같은 입력 :
이 문서를 참조하십시오 나는 긴 함수 정의를 얻을 수
$("a:eq(0)").data
를하지 배열 :
function (a,c){var d,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAt.... // continued
이 적합합니다. 데이터는 참조 데이터 즉, var data = $ ("a"). data ("b")에 의해 검색된 데이터의 인스턴스를 참조합니다. b.test = "c"; 내 $ ("a") 데이터 ("b")라고 부르면 테스트가 "c"로 설정됩니다. – user1514042
좋은 질문입니다. 내가 그것을 들여다 볼게. –
대답은 '아니오'라고 생각합니다. 'data'는 여러분이 통과 한 것의 사본 (아마 얕은 사본)을 저장합니다 : http://jsfiddle.net/NSADm/ –