這裏一提的是代碼:返回在JavaScript
我試圖讓collection.prototype.add
返回一個引用,使得最終的警報將顯示testing, testing, 123, testing
。有沒有辦法完成我在這裏要做的事情?
HTML:
<span id="spantest">testing, testing, 123, testing</span>
的JavaScript:
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);
我希望obj是對this.items [sElmtId]的引用,因此當稍後使用.bind()更新this.items [sElmtId]時,obj將指向與this.items [sElmtId相同的DOM元素]的確如此。 – 2012-03-01 23:33:25
啊現在我明白了...... – 2012-03-01 23:34:27
需要此代碼的原因有點複雜。在我的代碼的更大版本中,我有實例化DOM元素的對象。我希望這些對象具有指向它們負責渲染的DOM元素的屬性(例如,this.dom_elmt)。之所以我試圖在事實之後創建DOM引用的原因是因爲我正在編寫IE6兼容性。在內存中構建DOM片段對於IE6中的大頁面來說太慢了。我必須通過字符串創建HTML,在函數退出後插入到DOM中,然後創建鏈接返回到DOM元素。 – 2012-03-01 23:36:24