jQuery 선택기 원본 해독 (7): 요소 Matcher 함수
elementMatcher(matchers)
1. 원본 코드
function elementMatcher(matchers) {
return matchers.length > 1 ? function(elem, context, xml) {
var i = matchers.length;
while (i--) {
if (!matchers[i](elem, context, xml)) {
return false;
}
}
return true;
} : matchers[0];
}
2. 기능
이 함수는 전송된 elem이 실행 함수 그룹 matchers에 일치하는지 확인하기 위해 함수를 되돌려줍니다. false를 되돌려주지 않으면true를 되돌려줍니다.
matchers에 원소가 하나만 있다면, 이 원소 자체를 되돌려줍니다. 그렇지 않으면 코드의function (elem,context,xml) 함수를 되돌려줍니다.
반환 함수 효과는 context와 약간 유사합니다.filter (selectors), 물론, 그 결과는 jQuery 대상이 아니라true 또는false로 되돌아옵니다.
3. 매개 변수 matchers―수조, 모든 원소는 비위조류의 매칭기 집행 함수이다.예를 들어 실제 실행 과정에서 div.map span:lt(10), 그 중에서 div와 맵의 일치 실행 함수는 matchers의 두 요소로 elementMatcher 함수로 전송되어span 노드의 부 노드가 요구에 충족하는지 필터합니다.
4, 반환 함수
4.1 matchers가 1개 이상의 요소인 경우 다음과 같은 함수를 반환합니다.
function(elem, context, xml) {
var i = matchers.length;
while (i--) {
if (!matchers[i](elem, context, xml)) {
return false;
}
}
return true;
}
4.1.1 기능은 matchers의 마지막 요소부터 첫 번째 요소까지 순서대로 호출하여 전송된 elem 노드가 요구를 충족시키는지 여부에 따라 모두true로 되돌아간다. 그렇지 않으면false로 되돌아간다.
4.1.2 매개 변수
elem―검사를 기다리는 단일 노드 요소.
context - 전체 선택기 문자열이 일치하는 상하문 노드를 실행하는데 대부분 용도가 없습니다.
xml ― 현재 검색 대상이 HTML인지 XML 문서인지, HTML이면 xml 매개 변수는false입니다.
4.2 matchers가 단지 하나의 원소만 있다면 이 원소 자체를 되돌려준다.4.2.1 기능은 전송된 elem이 선택기와 일치하는지 확인하고 일치하면true를 되돌려주지 않으면false를 되돌려줍니다.
4.2.2 파라미터는 4.1.2 파라미터와 설명한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.