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)
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 );
>
} ;
以上就是本文的全部内容了,希望大家能够喜欢。