jQuery 객체 초기화를 위한 매개변수 전달 방법은 다음과 같습니다.
1.$(DOME요소)
2.$('
...
'), $('#id'), $('.class')는 문자열로 전달됩니다. 이는 가장 일반적인 형식입니다. 컨텍스트를 지정하기 위해 두 번째 매개변수 context로 전달되는 경우가 많습니다. 여기서 context 매개변수는 $(...), DOMElement
일 수 있습니다.
3.$(function() {}); <===> $(document).ready(function() { });
4.$({선택자: '.class', 컨텍스트: 컨텍스트}) <===> $('.class', 컨텍스트)
jQuery.fn = jQuery.prototype = {
생성자: jQuery,
초기화: 함수(선택기, 컨텍스트, rootjQuery) {
var match, elem, ret, doc;
// $(""), $(null), $(undefine), $(false) 매개변수를 처리하고 이를 직접 반환합니다
if ( !selector ) {
이것을 돌려주세요.
}
|
If (selector.nodeType) {
This.context = this[0] = 선택자;
This.length = 1;
이것을 돌려주세요.
}
// HTML 문자열 처리
// 들어오는 선택기 매개변수가 문자열인 경우
if ( 선택기 유형 === "문자열" ) {
If ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
// <>로 시작하고 끝나는 문자열을 HTML로 가정하고 정규식 검사를 건너뜁니다.
일치 = [ null, 선택기, null ];
} else {
일치 = rquickExpr.exec( 선택기 );
}
// html을 일치시키거나 #id
에 대해 컨텍스트가 지정되지 않았는지 확인하세요.
If ( match && (match[1] || !context) ) {
// 처리: $(html) -> $(배열)
If (일치[1]) {
context = jQuery의 컨텍스트 인스턴스 ? context[0] : context;
doc = ( context && context.nodeType ? context.ownerDocument || context : document );
// 이전 버전과의 호환성에는 스크립트가 적용됩니다
선택기 = jquery.parsehtml (일치 [1], doc, 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( 선택기 );
}
// 그렇지 않으면 요소를 jQuery 객체에 직접 주입합니다
this.length = 1;
this[0] = 요소;
}
this.context = 문서;
this.selector = 선택기;
이것을 돌려주세요;
}
// 처리: $(expr, $(...))
} else if ( !context || context.jquery ) {
return ( context || rootjQuery ).find( 선택기 );
// 처리: $(expr, context)
// (다음과 같습니다: $(context).find(expr)
} 그 밖의 {
return this.constructor( context ).find( selector );
}
// 처리: $(함수)
// 문서 준비 바로가기
// 当selector为function时上当于$(document).ready(selector);
} else if ( jQuery.isFunction( 선택기 ) ) {
return rootjQuery.ready( 선택기 );
}
// 当selector参数为{selector:'#id', context:document} 之类时, 重置属性selector와context
if ( selector.selector !== 정의되지 않음 ) {
this.selector = 선택기.selector;
this.context = selector.context;
}
return jQuery.makeArray( 선택기, this );
}
};
以上就是本文의 전체 부서 内容了, 希望大家能够喜欢。