>웹 프론트엔드 >JS 튜토리얼 >jQuery 객체 초기화에 대한 매개변수 전달 방법_jquery

jQuery 객체 초기화에 대한 매개변수 전달 방법_jquery

WBOY
WBOY원래의
2016-05-16 16:12:441267검색

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 );
    }
};

以上就是本文의 전체 부서 内容了, 希望大家能够喜欢。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.