したがって、いくつかのプロパティを持つ単純なクラスがあります。プロトタイピングを使用して私はいくつかのメソッドを追加します。これらのメソッドはthis
を返します。querySelectorAllの使用後に要素を配列にプッシュできません。
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();
})();
https://jsfiddle.net/Ldp58onu/
おかげで多くは、残念ながら私には何の問題を一つだけ答え:( –
を受け入れることはできません。あなたはあなたの答えを得た。あなたが入力して好きではない場合、それは.slice.call() []良い:) –
またはちょうど です過度に :) – HopeNick