<label id="myLabel"></label>
<div id="myId"></div>
var node = document.getElementById('myId');
node.myObject = { label : document.getElementById('myLabel') }
이렇게 하면 가비지컬렉션이나 쪽 메모리 누수 등의 문제가 생길 수 있다. 그럴때 data()를 쓰는데, set, get 모두 가능하다.
$('#myId').data('myObject', $('#myLabel')); // setData
var x = $('#myId').data('myObject'); // getData
그리고 부가적으로 이벤트도 붙일 수 있다.
$('#myId')
.bind('setData', function(e, key, value){
alert('setData from '+ value.attr('id'));
})
.bind('getData', function(e, key){
alert('getData from '+ key);
});
이렇게 하면 모델뷰 분리에도 유리하다. 시계를 붙여보자
<div id="myTime"></div>
<script>
$(document).bind('setData', function(e, k, v){
if(k=='clock') $('#myTime').html(v.toString());
});
setInterval(function(){
$(document).data('clock', new Date());
}, 1000);
</script>
'Jquery Cookbook > 4. JQUERY 유틸리티' 카테고리의 다른 글
4.10 JQUERY.EXTEND를 사용하여 개체 확장하기 (0) | 2011.11.03 |
---|---|
4.8 JQUERY.TRIM을 사용하여 폼 값 또는 문자열에서 공백 제거하기 (0) | 2011.11.03 |
4.7 JQUERY.ISFUNCTION을 사용하여 콜백 함수 확인하기 (0) | 2011.11.03 |
4.6 JQUERY.UNIQUE를 사용하여 중복된 배열 항목 필터링하기 (0) | 2011.11.03 |
4.5 JQUERY.MERGE로 두 개의 배열을 결합하기 (0) | 2011.11.03 |
4.4 JQUERY.MAP을 사용하여 배열 항목을 반복하며 수정하기 (0) | 2011.11.03 |
4.3 JQUERY.GREP을 사용하여 배열 필터링하기 (0) | 2011.11.03 |
4.2 JQUERY.EACH를 사용하여 배열과 개체를 반복하여 처리하기 (0) | 2011.11.03 |
4.1 JQUERY.SUPPORT로 기능 찾기 (0) | 2011.11.03 |