웹 프론트엔드 JS 튜토리얼 jQuery 소스 코드 분석 jQuery.fn.each 및 jQuery.each Usage_jquery

jQuery 소스 코드 분석 jQuery.fn.each 및 jQuery.each Usage_jquery

May 16, 2016 pm 04:18 PM
jquery 분석하다 소스 코드 용법

이 기사의 예에서는 jQuery 소스 코드 분석에서 jQuery.fn.each 및 jQuery.each의 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

예제부터 시작해 보겠습니다. 다음 코드의 기능은 선택한 각 div 요소에 빨간색 클래스를 추가하는 것입니다.

코드 복사 코드는 다음과 같습니다.
$('div').each(function(index, elem) {

$(this).addClass('red');
}
});

위에 사용된 .each는 jQuery.fn.each이며, jQuery.each를 통해 내부적으로 구현되어 있습니다

코드 복사 코드는 다음과 같습니다.
jQuery.fn.each

먼저 공식 API 설명을 올려보겠습니다. 주의할 점은 두 가지뿐입니다.
위의 예에서 $(this).addClass('red')는 현재 작동 중인 dom 요소를 나타냅니다.
각각에 전달된 메서드는 어떤 값이든 반환할 수 있습니다. 반환된 값이 false인 경우 현재 루프 작업에서 빠져나옵니다
코드 복사 코드는 다음과 같습니다.
/**

* @description jQuery 객체에서 일치하는 각 dom 요소에 대해 메서드를 실행합니다.

* @param {Number} index 컬렉션에서 현재 처리된 요소의 위치

* @param {DOMElement} 요소 현재 처리 중인 dom 요소

*/
.
.each( 함수(인덱스, 요소) )

다음은 두 가지 간단한 예입니다

예 1:

페이지의 모든 div 요소에 빨간색 클래스 추가

코드 복사 코드는 다음과 같습니다.
$('div').each(function(index, elem) {

$(this).addClass('red');
}
});

예시 2

페이지의 처음 5개 div 요소에 빨간색 클래스 추가

코드 복사 코드는 다음과 같습니다.
$('div').each(function(index, elem) {

If(index>=5) return false; // 루프를 중단합니다
$(this).addClass('red');
}
});

위와 같이 사용법은 매우 간단하므로 자세한 설명은 생략하겠습니다. http://api.jquery.com/each/

내부 소스 코드는 jQuery.each를 통해 구현됩니다. jQuery.each의 소스 코드에 대해 이야기해 보면, jQuery.fn.each의 소스 코드는 매우 간단합니다. >
jQuery.each:

먼저 간단한 예를 들어보겠습니다


코드 복사 코드는 다음과 같습니다.
$.each([52, 97], function(index, value ) {
Alert(index ': ' 값 ':' this);
}
});
출력 내용은 다음과 같습니다.
0: 52-52

1
1:97-97

클래스 공식 API 설명

또한 주의할 점이 두 가지 있습니다

위 예에서 이는 컬렉션의 요소, 즉 다음 valueOfElement입니다.

루프를 중단하려면 콜백에서 false를 반환하세요.

코드 복사 코드는 다음과 같습니다.
/**

* @description 컬렉션의 각 요소(배열 또는 개체)에 대해 작업을 수행합니다

* @param {Number|String} indexInArray 컬렉션 내 해당 요소의 위치(컬렉션이 배열인 경우 숫자, 컬렉션이 객체인 경우 키 값)

* @param {AnyValue} valueOfElement 컬렉션
의 요소
*/
ㅋㅋㅋ
jQuery.each( collection, callback(indexInArray, valueOfElement) )

예시 1

코드 복사 코드는 다음과 같습니다.
$.each( ['one,'two',' three' , '4'], function(index, value){

If(index >= 2)는 false를 반환합니다.

​​ 경고( "색인:" index ", 값: " 값 );
}
});

예시 2

예제는 공식 웹사이트에서 직접 복사한 것이므로 그대로 사용하세요

코드 복사 코드는 다음과 같습니다.
$.each( { name: "John", lang: "JS " }, 함수(k, v){

​​ Alert( "키: " k ", 값: " v );
}
});

소스 코드:
코드 복사 코드는 다음과 같습니다.
// args는 내부용입니다
이자
각각: 함수( obj, 콜백, args ) {

var 값,

나는 = 0,

길이 = obj.length,

isArray = isArraylike( obj ); // obj는 실제로 jQuery 객체를 제공하는 {'0':'hello', '1':'world', 'length':2}와 같은 배열형 객체인가요?

If ( args ) { // args, 실제로는 이 매개변수의 실제 효과를 찾지 못했습니다~~ 그냥 건너뛰고 else 의 내용을 살펴보세요. 콜백에 전달된 매개변수가 다르다는 점 외에는 차이점이 없습니다
           if ( isArray ) {
for ( ; i                         값 = callback.apply( obj[ i ], args );
If ( 값 === false ) {
휴식;
                }
            }
         } else {
for ( i in obj ) {
                    값 = callback.apply( obj[ i ], args );
If ( 값 === false ) {
휴식;
                }
            }
}
// 가장 일반적으로 사용되는 특별하고 빠른 사례
} 그 밖의 {
           if ( isArray ) {                                                                                                                                                                                   for ( ; i                    값 = callback.call( obj[ i ], i, obj[ i ] );
If ( 값 === false ) {
휴식;
                }
            }
} Else {// 처리 개체
for ( i in obj ) {
                   value = callback.call( obj[ i ], i, obj[ i ] ) // value는 콜백의 반환 값입니다.
If (value === false) {// 여기서 value === false인 경우 사이클에서 직접 뛰어내립니다.
휴식;
                }
            }
}
}
객체 반환;
}
},



최신 jQuery.fn.each 소스 코드:

정말 간단합니다. jQuery.each만 이해하면 별 문제 없습니다~

코드 복사 코드는 다음과 같습니다.
각: function( callback, args ) {

jQuery.each( this, callback, args )를 반환합니다.
}
},


결론

jQuery.extend 및 jQuery.fn.extend와 동일하지만 jQuery.each 및 jQuery.fn.each의 코드는 매우 간단하지만 이 두 가지 방법은 jQuery에서 널리 사용됩니다. 예:

코드 복사 코드는 다음과 같습니다.
jQuery.each("부울 숫자 문자열 함수 배열 날짜 RegExp 개체 오류" .split( " "), function(i, 이름) {

Class2type[ "[object " name "]" ] = name.toLowerCase();
}
});

그러니 각각 마스터하세요!

이 기사가 모든 사람의 jQuery 프로그래밍에 도움이 되기를 바랍니다.

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

jQuery 팁: 페이지에 있는 모든 태그의 텍스트를 빠르게 수정하세요. jQuery 팁: 페이지에 있는 모든 태그의 텍스트를 빠르게 수정하세요. Feb 28, 2024 pm 09:06 PM

제목: jQuery 팁: 페이지에 있는 모든 태그의 텍스트를 빠르게 수정하세요. 웹 개발에서는 페이지의 요소를 수정하고 조작해야 하는 경우가 많습니다. jQuery를 사용할 때 페이지에 있는 모든 태그의 텍스트 내용을 한 번에 수정해야 하는 경우가 있는데, 이는 시간과 에너지를 절약할 수 있습니다. 다음은 jQuery를 사용하여 페이지의 모든 태그 텍스트를 빠르게 수정하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 먼저 jQuery 라이브러리 파일을 도입하고 다음 코드가 페이지에 도입되었는지 확인해야 합니다. &lt

MySQL ISNULL 함수에 대한 자세한 설명 및 사용법 소개 MySQL ISNULL 함수에 대한 자세한 설명 및 사용법 소개 Mar 01, 2024 pm 05:24 PM

MySQL의 ISNULL() 함수는 지정된 표현식이나 열이 NULL인지 여부를 확인하는 데 사용되는 함수입니다. 부울 값을 반환하며, 표현식이 NULL이면 1, 그렇지 않으면 0을 반환합니다. ISNULL() 함수는 SELECT 문이나 WHERE 절의 조건부 판단에 사용할 수 있습니다. 1. ISNULL() 함수의 기본 구문: ISNULL(expression) 여기서 표현식은 NULL인지 또는 NULL인지를 결정하는 표현식입니다.

DreamWeaver CMS의 보조 디렉토리를 열 수 없는 이유 분석 DreamWeaver CMS의 보조 디렉토리를 열 수 없는 이유 분석 Mar 13, 2024 pm 06:24 PM

제목: DreamWeaver CMS의 보조 디렉터리를 열 수 없는 이유와 해결 방법 분석 Dreamweaver CMS(DedeCMS)는 다양한 웹 사이트 구축에 널리 사용되는 강력한 오픈 소스 콘텐츠 관리 시스템입니다. 그러나 때로는 웹사이트를 구축하는 과정에서 보조 디렉토리를 열 수 없는 상황이 발생할 수 있으며, 이로 인해 웹사이트의 정상적인 작동에 문제가 발생할 수 있습니다. 이 기사에서는 보조 디렉터리를 열 수 없는 가능한 이유를 분석하고 이 문제를 해결하기 위한 구체적인 코드 예제를 제공합니다. 1. 예상 원인 분석: 의사 정적 규칙 구성 문제: 사용 중

jQuery를 사용하여 모든 태그의 텍스트 내용 수정 jQuery를 사용하여 모든 태그의 텍스트 내용 수정 Feb 28, 2024 pm 05:42 PM

제목: jQuery를 사용하여 모든 태그의 텍스트 내용을 수정합니다. jQuery는 DOM 작업을 처리하는 데 널리 사용되는 인기 있는 JavaScript 라이브러리입니다. 웹 개발을 하다 보면 페이지에 있는 링크 태그(태그)의 텍스트 내용을 수정해야 하는 경우가 종종 있습니다. 이 기사에서는 jQuery를 사용하여 이 목표를 달성하는 방법을 설명하고 구체적인 코드 예제를 제공합니다. 먼저 페이지에 jQuery 라이브러리를 도입해야 합니다. HTML 파일에 다음 코드를 추가합니다.

PHP 코드의 소스 코드를 해석 및 실행하지 않고 브라우저에 표시하는 방법은 무엇입니까? PHP 코드의 소스 코드를 해석 및 실행하지 않고 브라우저에 표시하는 방법은 무엇입니까? Mar 11, 2024 am 10:54 AM

PHP 코드의 소스 코드를 해석 및 실행하지 않고 브라우저에 표시하는 방법은 무엇입니까? PHP는 동적 웹 페이지를 개발하는 데 일반적으로 사용되는 서버 측 스크립팅 언어입니다. 서버에서 PHP 파일이 요청되면 서버는 그 안에 있는 PHP 코드를 해석하고 실행한 후 최종 HTML 콘텐츠를 브라우저에 보내 표시합니다. 그러나 때때로 PHP 파일의 소스 코드를 실행하는 대신 브라우저에 직접 표시하고 싶을 때가 있습니다. 이 기사에서는 PHP 코드의 소스 코드를 해석 및 실행하지 않고 브라우저에 표시하는 방법을 소개합니다. PHP에서는 다음을 사용할 수 있습니다.

PHP 소스 코드 오류: 인덱스 오류 문제 해결 PHP 소스 코드 오류: 인덱스 오류 문제 해결 Mar 10, 2024 am 11:12 AM

PHP 소스 코드 오류: 인덱스 오류 문제를 해결하려면 특정 코드 예제가 필요합니다. 인터넷의 급속한 발전으로 인해 개발자는 웹사이트와 애플리케이션을 작성할 때 다양한 문제에 직면하게 됩니다. 그 중 PHP는 널리 사용되는 서버 측 스크립팅 언어이며 소스 코드 오류는 개발자가 자주 직면하는 문제 중 하나입니다. 가끔 웹사이트의 인덱스 페이지를 열려고 하면 "InternalServerError", "Unde" 등 다양한 오류 메시지가 나타나는 경우가 있습니다.

jQuery 요소에 특정 속성이 있는지 어떻게 알 수 있나요? jQuery 요소에 특정 속성이 있는지 어떻게 알 수 있나요? Feb 29, 2024 am 09:03 AM

jQuery 요소에 특정 속성이 있는지 어떻게 알 수 있나요? jQuery를 사용하여 DOM 요소를 조작할 때 요소에 특정 속성이 있는지 확인해야 하는 상황이 자주 발생합니다. 이 경우 jQuery에서 제공하는 메소드를 사용하여 이 기능을 쉽게 구현할 수 있습니다. 다음은 jQuery 요소에 특정 속성이 있는지 확인하기 위해 일반적으로 사용되는 두 가지 방법을 특정 코드 예제와 함께 소개합니다. 방법 1: attr() 메서드와 typeof 연산자를 // 사용하여 요소에 특정 속성이 있는지 확인

golang 프레임워크 소스 코드 학습 및 적용에 대한 종합 가이드 golang 프레임워크 소스 코드 학습 및 적용에 대한 종합 가이드 Jun 01, 2024 pm 10:31 PM

Golang 프레임워크 소스 코드를 이해함으로써 개발자는 언어의 본질을 마스터하고 프레임워크의 기능을 확장할 수 있습니다. 먼저, 소스 코드를 얻고 해당 디렉토리 구조에 익숙해지십시오. 둘째, 코드를 읽고, 실행 흐름을 추적하고, 종속성을 이해합니다. 실제 사례에서는 이러한 지식을 적용하는 방법, 즉 맞춤형 미들웨어를 생성하고 라우팅 시스템을 확장하는 방법을 보여줍니다. 모범 사례에는 단계별 학습, 무의미한 복사 붙여넣기 방지, 도구 활용 및 온라인 리소스 참조가 포함됩니다.

See all articles