특정 객체(Object)가 특정 클래스 속성 값을 가지고 있는지 알아내는 다양한 방법
<div id="div_test" class="milk apple house">
...
</div>
1. hasClass 함수
if($("#div_test").hasClass("apple") === true) {
// 속성값 존재시 구문
}
if( jQuery('body').hasClass('page-id-552') == true ) {
jQuery('input.pf_search').focus();
};
→ ID가 div_test인 객체가 class apple 을 가지고 있는지 체크. hasClass 는 해당 객체가 파라메터로 들어온 속성값을 가지고 있는 경우 true를 반환.
2. is 함수
if($("#div_test").is(".apple") === true) {
// 속성값 존재시 구문
}
→ is 함수를 통해 특정 class를 포함하고 있는지 체크. is 함수에는 class 외에 id, name 등도 사용 가능하므로 반드시 클래스 이름 앞에 . 을 찍어서 클래스 속성임을 명시.
3. length 속성
if($("#div_test.apple").length) {
// 속성값 존재시 구문
}
→ apple 클래스 속성 존재시 length 길이는 1이 되며, 미존재시 0이 됨. length 값이 있는지 여부를 체크하여 class 속성이 존재하는지 확인할 수 있음.
if ($("#id").length > 0) {
//do something
};
→ length 특성 사용시 존재하는 객체의 갯수를 반환하고 존재하지 않으면 0를 반환, 즉 length가 1 이상일 경우 객체가 존재함을, 0일 경우 존재하지 않음을 의미
가독성, 성능(속도), 서비스 부하 등을 고려, hasClass를 사용하는 것이 좋음
※ 출처 : 이러쿵저러쿵 - [JQuery] Object의 특정 클래스(Class) 포함 여부를 확인하는 다양한 방법. : http://ooz.co.kr/245
'jQuery' 카테고리의 다른 글
textarea 글자수 제한 (0) | 2018.06.28 |
---|---|
[jQuery] clone() - text() 또는 html() 사용시 텍스트만 지우고 태그는 남기는 방법 (0) | 2018.06.18 |
[jQuery] attr() 예제 (0) | 2018.06.17 |
[jQuery] 요소 감싸기 - wrap(), wrapAll(), unwrap(), wrapInner() method (0) | 2018.06.17 |
[jQuery] jQuery에서 css !important 적용법 (1) | 2018.06.17 |