我有一个用构造函数创建的对象数组。这是构造函数的定义:使用这个内部数组对象
function Expander(elem, startingFlipped) {
this.element = elem;
this.flipped = startingFlipped;
}
(以下rawElems
只是document.getElementsByClassName('foo');
结果)
一旦DOMContentLoaded事件触发,那么我这样做是为了发现,建设,推动一个新的对象到数组:
for (var i = 0; i < rawElems.length; i++) {
expanders[i] = new Expander(rawElems[i], false);
expanders[i].this.element.addEventListener("click", function (event) {
console.log("Clicked " + expanders[i].this.element);
});
}
的问题是,我不知道怎么的语法访问属性为this
。目前这引发错误:
Uncaught TypeError: Cannot read property 'element' of undefined at HTMLSpanElement.
这在某些方面是很大的,因为这些都是<span>
元素(控制台登录的对象和数组表明它是正确填充)。
但是由于我正在尝试这个构造函数模式,我该如何正确引用每个对象中的元素使用this
?
尝试'扩展[I] .element .....' –
@PranavCBalan我仍然得到同样的错误,其实(我也试过了) – armadadrive