私はコンストラクタで作成されたオブジェクトの配列を持っています。これは、コンストラクタの定義である:このオブジェクトの内部配列の使用
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
のプロパティにアクセスするための構文を知らない、です。これらは<span>
要素です(オブジェクトをロギングコンソールは、配列は、それが適切に移入され表示されます)ので、いくつかの点で素晴らしいです
Uncaught TypeError: Cannot read property 'element' of undefined at HTMLSpanElement.
:これは、現在エラーがスローされます。
しかし、私はこのコンストラクタパターンを試しているので、どのようにして各オブジェクト内の要素を正しく参照するのですかthis
?
は(実際には、..... ' –
@PranavCBalan私はまだ同じエラーを取得し.element [i]は'パンダを試みるIそれも試みた) – armadadrive