0

jQuery function次のように、CSSセレクターではなく、のようなものを作成する方法を知る必要があります。

function getId( item )  {
    return document.getElementById( item );
}

getId('elementID').firstFunction('property').secondFunction('property');

getIdしかし、結果を正確に送信して要素にfirstFunction何かを作成し、それを機能させる方法がわかりません。試してみましたが、機能させることができません。getId()secondFunctionprototype

4

1 に答える 1

1

チェーンできるようにしたいすべてのメソッドが、出力と同じコンテキスト (この場合は DOM 要素) を受け入れるようにする必要があります。

したがって、firstFunctionandsecondFunctionは両方とも DOM 要素であると想定thisする必要があり、DOM 要素も返す必要があります。ただし、これは、組み込みの DOM 要素オブジェクトを変更し、独自のメソッドを追加する必要があることを意味しますが、これは一般的に悪い考えです。これが、jQuery が API として利用可能なメソッドを含むラッパー オブジェクトにすべてをラップする理由です。これらのメソッドはすべて (同じ特別なオブジェクト型でなければなりません) に作用しthis、同じ型の (通常は変更された) オブジェクトを返します。

ここで軽量化の例をチェックしてください: http://buildingwebapps.blogspot.com/2012/01/creating-lightweight-dom-javascript.htmlとここでいくつかの追加の読み物: http://kendsnyder.com/posts/element-ラッパーの JavaScript

于 2013-05-13T03:21:01.630 に答える