일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- CMD
- windows
- IntelliJ
- 이클립스
- string
- js
- 자바
- 테이블
- Maven
- Java
- json
- list
- Eclipse
- 자바스크립트
- html
- Array
- javascript
- CSS
- 배열
- input
- Files
- date
- Button
- vscode
- 문자열
- 이탈리아
- ArrayList
- Visual Studio Code
- 인텔리제이
- table
- Today
- Total
어제 오늘 내일
[jQuery] 클래스 존재 여부 확인 (hasClass), 여러 클래스 확인 본문
hasClass()
jQuery의 hasClass() 메소드를 이용하여 특정 클래스가 존재하는지 확인할 수 있습니다.
예제
<div id='myDiv' class="my1 my2"></div>
.my1 {
background-color: yellow;
}
const hasMy1 = $('#myDiv').hasClass('my1'); // true
const hasMy2 = $('#myDiv').hasClass('my2'); // true
const hasMy3 = $('#myDiv').hasClass('my3'); // false
const hasMy12 = $('#myDiv').hasClass('my1 my2'); // true
const hasMy21 = $('#myDiv').hasClass('my2 my1'); // false
const hasMy23 = $('#myDiv').hasClass('my2 my3'); // false
document.write(hasMy1);
document.write('<br>');
document.write(hasMy2);
document.write('<br>');
document.write(hasMy3);
document.write('<br>');
document.write(hasMy12);
document.write('<br>');
document.write(hasMy21);
document.write('<br>');
document.write(hasMy23);
이 예제에서 myDiv는 my1, my2 클래스를 가지고 있습니다.
hasClass() 메소드를 사용해서 myDiv가 어떤 클래스를 가지고 있는지 테스트하였습니다.
$('#myDiv').hasClass('my1'); // true
myDiv가 my1 클래스를 가지고 있으므로, true입니다.
$('#myDiv').hasClass('my2'); // true
myDiv가 my2 클래스를 가지고 있으므로, true입니다.
$('#myDiv').hasClass('my3'); // false
myDiv가 my3 클래스를 가지고 있지 않으므로, false입니다.
$('#myDiv').hasClass('my1 my2'); // true
myDiv가 'my1 my2' 클래스를 가지고 있으므로 true입니다.
$('#myDiv').hasClass('my2 my1'); // false
hasClass는 파라미터로 입력받는 값을 하나의 문자열로 인식합니다.
이번 예제에서는 정확히 'my2 my1'이 있는지 찾습니다.
myDiv가 my1과 my2 클래스를 가지고 있지만,
'my1 my2'의 순서로 가지므로,
이 테스트 결과는 false입니다.
$('#myDiv').hasClass('my2 my3'); // false
myDiv는 my3 클래스를 가지고 있지 않으므로 false입니다.
여러 클래스 존재 여부 확인하기
여러 클래스를 가지고 있는지 체크하는 방법은?
위 예제에서 hasClass()는 파라미터로 입력받은 문자열로 class를 체크하였기 때문에
클래스의 순서가 다르거나,
여러 개의 클래스 중 일부가 존재하는지 체크하기는 어렵습니다.
여러 개의 클래스 중 일부 클래스의 존재 여부를 체크할 때는
hasClass()를 별도로 호출하여 결과를 조합하여 사용할 수 있습니다.
<div id='myDiv' class="my1 my2 my3"></div>
.my1 {
background-color: yellow;
}
const hasMy1 = $('#myDiv').hasClass('my1'); // true
const hasMy3 = $('#myDiv').hasClass('my2'); // true
// my1클래스 존재여부, my3클래스 존재 여부를 조합
const hasMy13 = hasMy1 && hasMy3; // true
document.write(hasMy13);
이 예제에서 myDiv는 'my1 my2 my3' 클래스를 가지고 있습니다.
myDiv가 my1과 my3를 가지고 있는지 체크하기 위해,
hasClass('my1')과 hasClass('my3')의 결과를 조합하였습니다.
'IT > jQuery' 카테고리의 다른 글
[jQuery] div 안의 text 가져오기 (text()) (0) | 2023.12.31 |
---|---|
[jQuery] div 안의 텍스트 변경 text(), html() (0) | 2023.12.30 |
[jQuery] 클래스 값 가져오기 (attr) (0) | 2023.12.29 |
[jQuery] 특정 class를 가지는 요소 갯수 구하기 (length) (0) | 2023.12.28 |
[jQuery] 클래스 추가, 삭제, 토글 (0) | 2023.12.27 |