Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

jQuery each() 작동 방식

jQuery each() DOM 요소를 반복하는 간결한 방법입니다. each() 메서드는 대상 jQuery 개체에서 호출되도록 설계되었습니다. jQuery 객체는 하나 이상의 DOM 요소를 포함하고 jQuery 메서드에 액세스할 수 있는 객체입니다. each() 뿐만 아니라 오류가 덜 발생하기 때문에 여러 DOM 요소를 간단하게 조작할 수 있습니다.

jQuery each() 콜백 함수가 필요합니다. 나중에 실행될 다른 함수에 전달된 함수입니다. 콜백 함수 내부에는 요소의 인덱스 번호와 요소 자체에 대한 액세스가 있습니다. 콜백 함수에 대한 보다 포괄적인 검토는 여기에서 찾을 수 있습니다.

each()의 적용 모든 JavaScript 루프만큼 간단하지만 잠재적인 혼동을 일으킬 수 있는 부분이 있습니다. 이러한 점을 정리하고 구문을 살펴보겠습니다. 이 가이드의 마지막에는 jQuery each()를 적용하는 다양한 방법을 볼 수 있는 단계별 코드 예제가 있습니다. .

jQuery each()란 무엇입니까?

jQuery each는 jQuery 라이브러리의 루프 메서드입니다. DOM 요소를 반복하여 JavaScript 루프처럼 작동합니다. jQuery each() 콜백 함수가 필요하며 콜백 함수 내부에서 DOM 요소를 조작할 수 있습니다.

콜백 함수의 본문 안에 있는 동안 조건문을 사용하여 선택한 요소 중 일부를 변경할 수 있습니다. 조건문은 JavaScript의 if...then 문입니다. 이것은 요소가 정확히 어떻게 변경되는지에 대한 더 깊은 수준의 제어를 제공합니다.

제이쿼리 each() 구문

jQuery는 각각 두 가지 방법으로 호출할 수 있습니다. 첫째, 선택된 요소에 대해 호출되는 메소드로. 콜백 함수는 최대 두 개의 선택적 인수인 인덱스와 값을 허용합니다. 인덱스는 현재 요소의 인덱스 번호입니다. 현재 요소가 목록의 첫 번째 요소인 경우 인덱스 번호는 0을 반환합니다.

값 인수는 현재 요소를 참조합니다. 메소드를 값에 연결하려면 jQuery 선택기에서 값을 래핑해야 합니다. 구문을 분석할 수 있도록 이 모든 것을 추상 코드에 넣어 보겠습니다.

$('div').each((index, value) => { console.log(`${index}:${$(value).text()}`)})

여기에서는 페이지의 각

를 선택하고 반복합니다. 각 반복에서 현재 요소의 인덱스 위치와 값에 액세스할 수 있습니다. 단순히 $(value) 반환 우리에게 두려운 [객체 개체] 를 줍니다. 값.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

[객체 개체] 객체의 문자열 표현입니다. 이것은 우리가 원하는 정확한 값을 추출하기 위해 메소드를 호출해야 함을 의미합니다. 위의 경우 text()를 사용하고 있습니다. 개체의 텍스트 속성을 표시하는 메서드입니다. [객체 개체]에 대해 자세히 알아보기 정확히 무엇을 반환하는지 알 수 있습니다.

위의 예는 인덱스 번호와 각

에 대한 텍스트 속성을 기록합니다. 인덱스에 대한 액세스가 필요하지 않은 경우 코드를 다음과 같이 리팩토링할 수 있습니다.

$('div').each(function() { alert($(this).text())})

이렇게 작성하면 현재

요소의 텍스트도 기록됩니다. 이 콜백 함수의 범위에서 키워드 this 또한 이전에 값 변수가 참조한 요소를 참조합니다. this 키워드에는 액세스할 수 없습니다. 화살표 함수에서.

화살표 함수는 함수 작성에 대한 간단한 대안이지만 this 키워드에 바인딩되지 않습니다. 즉, 화살표 함수에서 this를 사용하여 반환된 객체는 기능 표기법으로 작성할 때 this가 반환하는 것이 아닙니다.

이 가이드는 화살표 기능의 안팎을 다룹니다.

jQuery each() 예제

위의 구문 예제를 확장하고 몇 가지 속성을 추가해 보겠습니다. 다양한 클래스에 속하는 색상 목록의 기본 HTML 렌더링으로 시작합니다.

빨간색
분홍색
주황색
보라색
파란색

이것은 DOM의 각 텍스트 요소를 렌더링합니다. 먼저 화살표 기능과 기존 기능을 모두 사용하여 콘솔에 텍스트를 기록하는 것으로 시작하겠습니다.

$('.colorSelect').each((인덱스, 값) => { console.log($(value).text())})

colorSelect라는 클래스 이름을 가진

만 선택하여 텍스트 Red, Purple 및 Blue를 기록합니다. jQuery text()를 호출하기 위해 새 jQuery 인스턴스에서 값을 래핑하는 방법에 주목하세요. 방법. 이렇게 하면 선택한
요소의 텍스트만 반환됩니다.

this. 키워드를 사용하여 동일한 결과를 반환해 보겠습니다.

$('.colorSelect').each(function() { console.log($(this).text())})

익명 함수(이름이 없는 함수)를 콜백으로 사용할 수 있습니다. 다시 Red, Purple 및 Blue 텍스트를 반환합니다. 화살표 함수가 jQuery에서 일부 기능을 가지고 있지만 jQuery 콜백에 대해 전통적인 기능 표기법을 사용하는 것이 가장 좋습니다.

이제 요소 컬렉션을 반복하는 방법을 알았습니다. 이제 재미를 느끼고 색상을 변경해 보겠습니다!

빨간색
분홍색
주황색
보라색
파란색

색상 목록 페이지를 유지하면서 이제