내가 이전에 수행한 JQUERY 애플리케이션 중 일부는 매우 기본적인 프로그래밍이었고 "$('.class')", "$('#id')", "$( '와 같은 선택기에 대한 높은 요구 사항이 없었습니다. #id>.class')", "$(this)", "$(this).parent()", "$(this).children()" 모두 해결 가능합니다.
ul의 특정 li에서 범위를 선택하려고 할 때 문제가 발생합니다. 프로그래밍을 용이하게 하기 위해 $('ul>li').eq(i)를 사용하여 li를 선택하기 때문입니다. 이전 방법으로 해결했는데 항상 코드가 좀 뚱뚱하고 비효율적이라는 느낌이 들었습니다. JQUERY는 현재 JS 프레임워크 중 가장 효율적인 코드로 알려져 있기 때문에 많은 코드로 이 문제를 해결하는 것은 불가능합니다!
JQUERY의 API를 뒤돌아보니 제가 전혀 눈치채지 못했던 이때에 아주 어울리는 문장이 있다는 걸 발견했습니다. 즉, $(선택기 1).find(선택기 2)입니다. 예전에 찾기 위해 소개글을 읽어봤지만, 사용하지 않아서 늘 무시해왔습니다.
find()를 사용하는 방법은 다음과 같습니다
API에서 제공하는 설명: 지정된 표현식과 일치하는 모든 요소를 검색합니다. 이 함수는 처리 중인 요소의 하위 요소를 찾는 좋은 방법입니다.
사용법: $(선택기 1).find(선택기 2)
Xiaoju Inn 홈페이지에서 포커스 사진을 찍고 ".focusphoto" 클래스가 있는 DL 아래의 DD에서 스팬을 찾아 페이드 아웃합니다.
단편드라마 속 find()의 이해에 대해 이야기해 보세요
내 애플리케이션에서는 실제로 children()을 사용할 수 있지만 이것이 find()와 children()의 사용법이 동일하다는 의미는 아닙니다. 이 경우 find()의 존재는 의미가 없습니다. 쿼리 깊이가 한 수준인 경우 둘은 유사하지만 차이점은 다음과 같습니다. find()는 쿼리 선택을 위해 자식의 하위 수준까지 깊이 들어갈 수 있는 하위 쿼리 선택기이고 children()은 자식 A만 가능합니다. 다음 레벨의 요소만 선택할 수 있는 레벨 선택기입니다.
물론, 위 내용은 드라마 속 분들의 소소한 의견일 뿐입니다. 오류나 부족한 부분이 있으면 정정해 주시기 바랍니다.