2

jQueryの.appendTo関数の実装を探しています。http://code.jquery.com/jquery-latest.js
で 関数を探してみましたが、2つの言及しか見つかりませんでした。どちらにも、定義が含まれていません。

私がそれを見つけることができるアイデアはありますか?

ありがとう、ニヴ。

4

1 に答える 1

1

実際には非常にクールです:appendToは に対して動的に定義されappendます。それがこれらの行で起こっていることです:

jQuery.each({
    appendTo: "append",
    prependTo: "prepend",
    insertBefore: "before",
    insertAfter: "after",
    replaceAll: "replaceWith"
}, function( name, original ) {
    jQuery.fn[ name ] = function( selector ) {
        var ret = [],
            insert = jQuery( selector ),
            parent = this.length === 1 && this[0].parentNode;
...

2 つの関数の機能はほぼ同じで、どちらの効果が逆になっているだけなので、これは理にかなっています。

そのファイルをインクルードし、関数を渡し、$('html').appendToそれが参照するものを分析すると、次のようになります。

function ( selector ) {
    var ret = [],
        insert = jQuery( selector ),
        parent = this.length === 1 && this[0].parentNode;
...

そのコードを認識していますか?先に述べた最初のコード ブロックを続けて見ると、それらがほとんど同じであることがわかります。最初のブロックは のコードを動的に生成しappendTo、同様に他のいくつかのブロックも同様に生成します。

于 2012-08-09T15:57:43.817 に答える