【发布时间】:2016-08-28 20:40:21
【问题描述】:
所以我有一个简单的类,它的属性很少。使用原型设计我添加了一些方法。这些方法返回this,所以我可以将它们链接在一起。
Get 方法找到所有元素并放入allCurrentElements,这是一个数组(或者至少我认为是这样)。当我使用CreateElement 方法时,它只是创建元素并尝试将其推送到现有数组allCurrentElements。
要使用它,只需写var a = _h.Get('p').CreateElement('div')。这是我收到错误Uncaught TypeError: this.allCurrentElements.push is not a function(…)的地方。
如果我尝试使用索引分配新创建的元素,它不会抛出错误,但是该元素不会出现在数组中。
var _h = (function(){
var Helper = function(){
this.allCurrentElements = [];
}
Helper.prototype.Get = function(query){
this.allCurrentElements = document.querySelectorAll(query);
return this;
}
Helper.prototype.CreateElement = function(el, attr) {
var elem = document.createElement(el);
for (var a in attr) {
elem[a] = attr[a];
}
//this.allCurrentElements[this.allCurrentElements.length] = elem;
this.allCurrentElements.push(elem);
return this;
}
return new Helper();
})();
【问题讨论】:
标签: javascript arrays oop prototype