제이쿼리 .data() > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

제이쿼리 .data() 정보

jQuery 제이쿼리 .data()

본문

제이쿼리 .data()


일치 된 요소와 관련된 임의의 데이터를 저장하거나 일치하는 요소 집합의 첫 번째 요소에 대해 명명 된 데이터 저장소에 값을 반환합니다.



.data( key, value )

설명 : 일치하는 요소와 관련된 임의의 데이터를 저장합니다.



.data (obj)


유형 : 개체

업데이트 할 키 - 값 쌍의 객체입니다


이 .data()방법을 사용하면 순환 참조 나 메모리 누수로부터 안전하게 DOM 요소에 모든 유형의 데이터를 첨부 할 수 있습니다.


하나의 요소에 대해 여러 개의 고유 한 값을 설정하고 나중에 검색 할 수 있습니다.


$( "body" ).data( "foo", 52 );

$( "body" ).data( "bar", { myType: "test", count: 40 } );

$( "body" ).data( { baz: [ 1, 2, 3 ] } );

$( "body" ).data( "foo" ); // 52

$( "body" ).data(); // { foo: 52, bar: { myType: "test", count: 40 }, baz: [ 1, 2, 3 ] }

jQuery 1.4.3에서 요소의 데이터 객체 설정은 .data(obj)이전에 해당 요소와 함께 저장된 데이터 를 확장합니다.


jQuery 1.4.3 (jQuery 1.4에서 시작) 이전에이 .data()메소드는 데이터 객체를 확장하는 대신 모든 데이터를 완전히 대체했습니다. 타사 플러그인을 사용하는 경우 요소의 데이터 객체를 완전히 바꾸지 않는 것이 좋습니다. 플러그인에서 데이터를 설정할 수도 있기 때문입니다.


jQuery 3 은이 메소드의 동작을 변경하여 Dataset API 사양 에 맞 춥니 다 . 특히, jQuery 3 은 Dataset API의 알고리즘 정의에 따라 대문자 버전의 문자로 소문자 ASCII 문자 다음에 오는 "-"(U + 002D)의 두 문자 시퀀스를 변환 합니다 . 같은 성명을 쓰는 것은 $( "body" ).data( { "my-name": "aValue" } ).data();돌아올 것 { myName: "aValue" }입니다.


브라우저가 플러그인 및 외부 코드와 상호 작용하는 방식으로 인해 .data()메소드 <object>(Flash 플러그인이 아닌 경우) <applet>또는 <embed>요소를 사용할 수 없습니다 .


추가 참고 사항 :


Internet Explorer에서는 expando 속성을 통해 데이터를 첨부 할 수 없으므로이 방법은 현재 XML 문서의 데이터 설정을위한 크로스 플랫폼 지원을 제공하지 않습니다.

undefined데이터 값으로 인식되지 않습니다. 이와 같은 호출 .data( "name", undefined )은 호출 된 jQuery 객체를 반환하여 체인을 허용합니다.

예:

그런 다음 저장소는 div 요소에서 값을 검색합니다.




<!doctype html>

<html lang="en">

<head>

  <meta charset="utf-8">

  <title>data demo</title>

  <style>

  div {

    color: blue;

  }

  span {

    color: red;

  }

  </style>

  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>

</head>

<body>

 

<div>

  The values stored were

  <span></span>

  and

  <span></span>

</div>

 

<script>

$( "div" ).data( "test", { first: 16, last: "pizza!" } );

$( "span:first" ).text( $( "div" ).data( "test" ).first );

$( "span:last" ).text( $( "div" ).data( "test" ).last );

</script>

 

</body>

</html>

추천
0

댓글 0개

전체 5,352
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT