Heim  >  Artikel  >  Web-Frontend  >  Parameterübergabemethode für das jQuery-Objekt initialization_jquery

Parameterübergabemethode für das jQuery-Objekt initialization_jquery

WBOY
WBOYOriginal
2016-05-16 16:12:441226Durchsuche

Zu den Parameterübergabemethoden für die jQuery-Objektinitialisierung gehören:

1.$(DOMElement)
2.$('

...

'), $('#id'), $('.class') übergibt einen String. Dies ist die häufigste Form werden oft als zweiter Parameter context übergeben, um den Kontext anzugeben, wobei der Kontextparameter $(...), DOMElement
sein kann 3.$(function() {}); <===> $(document).ready(function() { });
4.$({selector: '.class', context: context}) <===> $('.class', context)

Code kopieren Der Code lautet wie folgt:

jQuery.fn = jQuery.prototype = {
Konstruktor: jQuery,
init: function(selector, context, rootjQuery) {
var match, elem, ret, doc;
​​​​ // Verarbeiten Sie die Parameter $(""), $(null), $(undefiniert), $(false) und geben Sie dies direkt zurück
           if ( !selector ) {
              gib dies zurück;
}
                                                            // Wenn der übergebene Parameterselektor ein DOM-Knoten ist, setzen Sie den Kontext auf Selektor
If (selector.nodeType) {
This.context = this[0] = selector;
This.length = 1;
              gib dies zurück;
}
               // HTML-Strings verarbeiten
// Wenn der eingehende Selektorparameter eine Zeichenfolge ist,
            if ( typeof selector === "string" ) {
If ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
// Gehen Sie davon aus, dass Zeichenfolgen, die mit <> beginnen und enden, HTML sind, und überspringen Sie die Regex-Prüfung
                  match = [ null, selector, null ];
              } sonst {
                    match = rquickExpr.exec( selector );
            }
// Übereinstimmung mit HTML oder sicherstellen, dass für #id
kein Kontext angegeben ist If ( match && (match[1] || !context) ) {
// HANDLE: $(html) -> $(array)
If (match[1]) {
context = context-Instanz von jQuery ? context[0] : context;
                        doc = ( context && context.nodeType ? context.ownerDocument || context : document );
// scripts gilt für Rückkompatibilität
Selector = jquery.parsehtml (match [1], doc, true); If ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
This.attr.call( selector, context, true );
                 }
Geben Sie jQuery.merge( this, selector );
zurück                                  // HANDLE: $(#id)
                     } sonst {
                          elem = document.getElementById( match[2] );
// Überprüfe parentNode, um zu erkennen, wann Blackberry 4.6 zurückkehrt
// Knoten, die nicht mehr im Dokument #6963
sind If (elem && elem.parentNode) {
                        // Gérer le cas où IE et Opera renvoient des éléments
                        // par nom au lieu d'ID
                        if ( elem.id !== match[2] ) {
                            return rootjQuery.find( sélecteur);
                        >
                        // Sinon, on injecte l'élément directement dans l'objet jQuery
                        this.length = 1;
                        this[0] = elem;
                    >
                    this.context = document;
                    this.selector = sélecteur;
                    rends ceci ;
                >
            // POIGNÉE : $(expr, $(...))
            } else if ( !context || context.jquery ) {
                return ( contexte || rootjQuery ).find( sélecteur );
            // POIGNÉE : $(expr, contexte)
            // (ce qui équivaut simplement à : $(context).find(expr)
            } autre {
                return this.constructor( context ).find( selector );
            >
        // POIGNÉE : $(fonction)
        // Raccourci pour le document prêt
        // Fonction de sélection du sélecteur $(document).ready(sélecteur);
        } else if ( jQuery.isFunction( selector ) ) {
            return rootjQuery.ready( sélecteur);
        >
        // 当selector参数为{selector:'#id', context:document}之类时,重置属性selector和context
        if ( selector.selector !== non défini ) {
            this.selector = selector.selector;
            this.context = selector.context;
        >
        return jQuery.makeArray( sélecteur, this );
    >
} ;

以上就是本文的全部内容了,希望大家能够喜欢。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn