Maison >interface Web >js tutoriel >Méthode de passage de paramètres pour l'objet jQuery initialization_jquery

Méthode de passage de paramètres pour l'objet jQuery initialization_jquery

WBOY
WBOYoriginal
2016-05-16 16:12:441267parcourir

Les méthodes de transmission de paramètres pour l'initialisation des objets jQuery incluent :

1.$(DOMElement)
2.$('

...

'), $('#id'), $('.class') passe dans une chaîne C'est la forme la plus courante. sont souvent transmis comme deuxième paramètre contexte pour spécifier le contexte, où le paramètre de contexte peut être $(...), DOMElement
3.$(function() {}); <===> $(document).ready(function() { });
4.$({sélecteur : '.class', contexte : contexte}) <===> $('.class', contexte)

Copier le code Le code est le suivant :

jQuery.fn = jQuery.prototype = {
Constructeur : jQuery,
init : fonction (sélecteur, contexte, rootjQuery) {
var match, elem, ret, doc;
​​​​ // Traitez les paramètres $(""), $(null), $(undefined), $(false) et retournez directement ceci
           if ( !selector ) {
              renvoyez ceci ;
>
                                                            // Lorsque le sélecteur de paramètre transmis est un nœud DOM, définissez le contexte sur sélecteur
Si (selector.nodeType) {
This.context = this[0] = sélecteur;
Cette.longueur = 1;
              renvoyez ceci ;
>
               // Gérer les chaînes HTML
// Lorsque le paramètre du sélecteur entrant est une chaîne,
            if ( typeof selector === "string" ) {
Si ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
// Supposons que les chaînes qui commencent et se terminent par <> sont HTML et ignorent la vérification des expressions régulières
                  match = [ null, sélecteur, null ];
               } autre {
                    match = rquickExpr.exec( sélecteur );
            }
// Faites correspondre le HTML ou assurez-vous qu'aucun contexte n'est spécifié pour #id
Si ( match && (match[1] || !context) ) {
// POIGNÉE : $(html) -> $(array)
Si (match[1]) {
contexte = instance de contexte de jQuery contexte[0] : contexte;
                        doc = (context && context.nodeType ? context.ownerDocument || context : document );
// les scripts sont vrais pour la rétro-compatibilité
Sélecteur = jquery.parsehtml (match [1], doc, true
) ; If ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
This.attr.call( sélecteur, contexte, true );
                 }
Renvoie jQuery.merge( this, sélecteur);
                                 // HANDLE : $(#id)
                     } autre {
                          elem = document.getElementById( match[2] );
// Vérifiez parentNode pour intercepter le retour de Blackberry 4.6
// les nœuds qui ne sont plus dans le document #6963
Si (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 );
    >
} ;

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn