jquery, id 내의 클래스 선택자
아래에서 요소 my_class
내에서 클래스를 포함하는 요소를 어떻게 선택해야 id = "my_id"
합니까?
요소에는 내가 선택하지 않는 다른 클래스가있을 수도 있습니다.
<div id = "my_id">
<span class = "my_class hidden">hi</span>
<span class = "my_class">hello</span>
</div>
노력 중이었다
$("#my_id [class*=my_class ]")
하위 선택기 와 함께 클래스 선택기 를 사용할 수 있습니다.
$("#my_id .my_class")
일반 ol '클래스 선택기를 사용하십시오.
$('#my_id .my_class')
요소에 다른 클래스도 있는지 여부는 중요하지 않습니다. 그것은이 .my_class의 클래스를 내부 그것의 어딘가에 #my_id 는 그 선택과 일치합니다 그래서.
성능에 대하여
jQuery 선택기 성능 문서 에 따르면 다음과 같이 두 개의 선택기를 개별적으로 사용하는 것이 더 빠릅니다.
$('#my_id').find('.my_class')
문서의 관련 부분은 다음과 같습니다.
ID 기반 선택기
// Fast: $( "#container div.robotarm" ); // Super-fast: $( "#container" ).find( "div.robotarm" );
.find()
ID 전용 선택을 사용하여 처리됩니다 - 첫 번째 선택이 지글 지글 셀렉터 엔진을 거치지 않고 처리되기 때문에 접근이 빠르다document.getElementById()
는 브라우저에 기본 때문에 매우 빠른이다.
ID별로 또는 클래스별로 만 선택하면 (다른 것들 중에서) document.getElementById()
매우 빠른 브라우저 제공 함수가 호출되는 반면, 하위 선택기를 사용하면 언급 된대로 Sizzle 엔진이 호출되며 이는 빠르지 만 제안 된 대안보다 느립니다.
항상 사용
//Super Fast
$('#my_id').find('.my_class');
대신에
// Fast:
$('#my_id .my_class');
JQuery 성능 규칙을 살펴보십시오 .
또한 Jquery Doc에서
<span class = "my_class">hello</span>
이 요소 만 선택해달라고 요청하신 것 같습니다. 이렇게하셨습니다. 질문을 올바르게 이해했다면 이것이 답입니다.
$("#my_id [class='my_class']").addClass('test');
또한 다음 $( "#container" ).find( "div.robotarm" );
과 같습니다.$( "div.robotarm", "#container" )
참고 URL : https://stackoverflow.com/questions/17417614/jquery-selector-for-class-within-id
'IT story' 카테고리의 다른 글
NSDictionary의 모든 키를 NSArray로 가져옵니다. (0) | 2020.09.15 |
---|---|
레일 번들 청소 (0) | 2020.09.15 |
iOS Nested View Controllers view inside UIViewController 's view? (0) | 2020.09.15 |
git gc fatal을 처리하는 방법 : 잘못된 개체 참조 / 원격 / 원본 / HEAD 오류 : 재팩을 실행하지 못했습니다. (0) | 2020.09.15 |
스크래피 스파이더에서 사용자 정의 인수를 전달하는 방법 (0) | 2020.09.15 |