ホームページ > ウェブフロントエンド > jsチュートリアル > jQueryオブジェクトのパラメータ受け渡しメソッドinitialization_jquery

jQueryオブジェクトのパラメータ受け渡しメソッドinitialization_jquery

WBOY
リリース: 2016-05-16 16:12:44
オリジナル
1259 人が閲覧しました

jQuery オブジェクトの初期化のためのパラメータ受け渡しメソッドには次のものが含まれます:

1.$(DOMElement)
2.$('

...

')、$('#id')、$('.class') は、最も一般的な形式のパラメータです。多くの場合、コンテキストを指定するために 2 番目のパラメーター context として渡されます。コンテキスト パラメーターは $(...)、DOMElement
です。 3.$(function() {}); <===> $(document).ready(function() { });
4.$({セレクター : '.class', コンテキスト : context}) <===> $('.class', context)

コードをコピー コードは次のとおりです:

jQuery.fn = jQuery.prototype = {
コンストラクター: jQuery、
init: function(セレクター、コンテキスト、rootjQuery) {
var match、elem、ret、doc;
// パラメータ $("")、$(null)、$(unknown)、$(false) を処理し、直接 this を返します
if ( !selector ) {
これを返します;
}
// 渡されたパラメーターセレクターが DOM ノードの場合、コンテキストを selector
に設定します If (selector.nodeType) {
This.context = this[0] = セレクター;
This.length = 1;
これを返します;
}
// HTML 文字列を処理します
// 受信セレクター パラメーターが文字列の場合、
if ( typeof selector === "string" ) {
If ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
// <> で開始および終了する文字列は HTML であると想定し、正規表現チェックをスキップします
match = [ null, セレクター, null ];
} else {
match = rquickExpr.exec( selector );
}
// HTML と一致するか、#id
にコンテキストが指定されていないことを確認します If ( match && (match[1] || !context) ) {
// ハンドル: $(html) -> $(配列)
If (match[1]) {
context = jQuery の context インスタンス? context[0] : context;
doc = ( context && context.nodeType ? context.ownerDocument || context : document );
// スクリプトは後方互換性に対して true です
セレクター = jquery.parsehtml ([1] に一致、ドキュメント、true); If ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
This.attr.call( セレクター, コンテキスト, true );
}
Return jQuery.merge( this, selector );
// ハンドル: $(#id)
} else {
elem = document.getElementById( match[2] );
// Blackberry 4.6 が戻ったときにキャッチするためにparentNodeをチェックします
// ドキュメント #6963
に存在しなくなったノード If (elem && elem.parentNode) {
                        // IE と Opera が項目を返すケースを処理します
                        // ID ではなく名前で
                        if ( elem.id !== match[2] ) {
                            return rootjQuery.find( selector );
                        }
                        // それ以外の場合は、要素を jQuery オブジェクトに直接挿入します
                        this.length = 1;
                        this[0] = 要素;
                    }
                    this.context = ドキュメント;
                    this.selector = セレクター;
                    これを返します;
                }
            // ハンドル: $(expr, $(...))
            else if ( !context || context.jquery ) {
                return ( context || rootjQuery ).find( selector );
            // ハンドル: $(expr, context)
            // (これは $(context).find(expr)
と同等です             } else {
                return this.constructor( context ).find( selector );
            }
        // ハンドル: $(関数)
        // ドキュメント準備完了のショートカット
        //selector が function の場合は $(document).ready(selector);
に相当します         else if ( jQuery.isFunction( selector ) ) {
            return rootjQuery.ready( selector );
        }
        //selector パラメータが {selector:'#id', context:document} である場合、プロパティselector と context
が重なります。         if ( selector.selector !== 未定義 ) {
            this.selector = selector.selector;
            this.context = selector.context;
        }
        return jQuery.makeArray( selector, this );
    }
};

以上が本書のすべての内容です。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート