jQuery's
jsクラスのDOM関数をすべてラップしますが、それらの関数はそのクラスの単一のプロパティのみを処理します。すべてのjQuery関数をクラスにラップします
class Foo {
constructor() {
this.$wrapper = $('<div>wrapper</div>')
}
}
var f = new Foo();
// have to call this
f.$wrapper.appendTo($('body'));
// want to call this
f.appendTo($('body'));
私は、各jQueryのメソッドで同じ名前のメソッドを作成することによって、長い年月を取り、単に常にthis.$wrapper
にそれを適用することになる、手動でこれを行うことができます。しかし、これを行う簡単な方法があるのだろうかと思います。
https://jsfiddle.net/gy9tLyk2/
は、このクライアント側のスクリプトです:バベルが正しくtranspileすることができるようになります場合
わからない、ここでES5コードですか?もしそうなら、 'class'はいくつかの主要なブラウザではサポートされません。なぜなら、ECMAScript 6からのものだからです。 – 4castle
あなたは何をしているのでしょうか?とにかく 'f.appendTo'を直接呼び出すには' f = $(...) 'を実行してクラスを削除してください。とにかく返されたラップされたjQuery要素と等しくなるよう' f'を設定する必要があります。 – adeneo
OOJS(オブジェクト指向のjavascript)のいくつかの例を読む –