jQuery 검색을 다시 실행하지 않고 jQuery 요소 배열을 더 필터링하려면 어떻게해야합니까?
-
06-07-2019 - |
문제
다음 코드가 주어지면 첫 번째 jQuery 선택기가 생성 한 변수 div를 어떻게 클래스를 추가하는 줄에 다시 실행하지 않고 어떻게 사용합니까?
그래서 이것을 감안할 때 :
var divs = $("div.searchhit");
// divs.length divs.removeClass ( "selected")를 사용한 더 많은 코드; $ ( "div.searchhit : eq (0)"). addClass ( "selected");
마지막 줄을 다음과 같이 보이게하려면 어떻게해야합니까?
divs(":eq(0)").addClass("selected");
해결책
그냥 사용하십시오 eq()
방법:
divs.eq(0).addClass('selected');
다른 팁
하나의 가능한 대답은 다음과 같습니다.
divs.filter(":eq(0)").addClass("selected");
jQuery 문서를 읽으십시오. 이것은 잘 덮여 있습니다.
그것은 나에게 약간 간결했다. 여기에서 작은 설명 :
jQuery(query)
DOM의 루트에서 검색하는 기본 필터입니다. 이후 쿼리는 해당 세트의 결과 객체 시작에서 실행됩니다. 확장 작업이 수행되지 않으면 (예 : 이전에 일치하는 노드 내에서 어린이를 보면) 결과 쿼리에는 이전 쿼리만큼 많은 요소가 포함될 수 있습니다.
예를 들어 자식 요소를 선택하려면 (하위 요소를 필터링하는 대신) : 사용하십시오.
$('tr').children('td')
제휴하지 않습니다 StackOverflow