에 대한 참조를 반환하는 코드입니다. 내가 여기서하려고하는 것을 성취 할 수있는 방법이 있습니까?자바 스크립트
HTML :
<span id="spantest">testing, testing, 123, testing</span>
자바 스크립트 : 자바 스크립트에서 불가능 필요 같은
var collection = function() {
this.items = {};
}
collection.prototype.add = function(sElmtId) {
this.items[sElmtId] = {};
return this.items[sElmtId];
}
collection.prototype.bind = function() {
for (var sElmtId in this.items) {
this.items[sElmtId] = document.getElementById(sElmtId);
}
}
var col = new collection();
var obj = {};
obj = col.add('spantest');
col.bind();
alert(obj.innerHTML);
this.items [sElmtId]에 대한 참조가되도록 obj를 만듭니다. 나중에 this.items [sElmtId]가 .bind()로 업데이트되면 obj는 this.items [sElmtId]와 동일한 DOM 요소를 가리 킵니다. ] 않습니다. –
아, 이제 알겠습니다 ... –
이 코드가 필요한 이유는 약간 복잡합니다. 더 큰 버전의 코드에는 DOM 요소를 인스턴스화하는 객체가 있습니다. 이러한 객체에 렌더링 책임이있는 DOM 요소를 가리키는 속성 (예 : this.dom_elmt)이 있어야합니다. 내가 IE6 호환성을 위해 쓰고 있기 때문에 사실 이후 DOM 참조를 만들려고하는 이유입니다. IE6에서 대형 페이지의 경우 메모리에서 DOM 조각을 구성하는 것이 너무 느립니다. 문자열로 HTML을 만들고, 함수가 종료 된 후 DOM에 삽입하고 나중에 DOM 요소에 대한 링크를 만들어야합니다. –