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