jQuery - 속성을 판별하는 hasAttr() 함수는 없다
- 프로그래밍/제이쿼리
- 2023. 6. 19.
제이쿼리에서는 attr()과 같이 속성을 설정하는 함수는 제공하지만, hasAttr()과 같이 속성(attribute)의 유무를 판별하는 함수는 제공하지 않습니다. 그렇기 때문에 hasAttr()처럼 속성의 유무를 판별하려면 별도의 is()나 filter() 함수를 사용해야 하는데요. 오늘은 jQuery를 사용해서 속성 유무를 판별하는 방법을 알아보겠습니다.
Javascript로 attribute 유무 판별하기
DOM에서 기본으로 제공하는 기능 중 Element의 hasAttribute()를 사용하면 속성을 판별할 수 있습니다. jQuery를 굳이 별다르게 조작할 필요 없이 말이죠. 아래의 방법은 jQuery 객체가 가진 참조값을 이용해 Element에 접근해서 속성 유무를 판별하는 방법입니다.
$(this)[0].hasAttribute("attrName");
or
jqObj[0].hasAttribute("attrName");
Filtering을 사용한 attribute 판별
제이쿼리에서 제공하는 함수 중 is()나 filter()를 사용하면, 속성의 유무를 판별할 수 있습니다. 개인적으로는 is()가 조금 더 의미가 분명하다고 생각되어 is()를 사용하는데요. is()와 filter()를 사용해 속성의 유무를 판별하는 방법은 다음과 같습니다.
$(this).is('[attrName]');
$(this).filter("[name='attrName']");
고전적이기는 하지만 is()나 filter() 대신 attr()을 사용해서도 속성의 유무를 판별할 수 있습니다.
var attr = $(this).attr('attrName');
if (typeof attr !== typeof undefined && attr !== false) {
...
}
반응형
'프로그래밍 > 제이쿼리' 카테고리의 다른 글
jQuery - click()이 동작하지 않으면 on()을 사용해보자 (1) | 2022.02.25 |
---|---|
jQuery - CDN을 이용해서 제이쿼리를 사용해볼까? (0) | 2022.02.13 |
jQuery - 데이터를 설정하는 data() 원리와 사용 방법을 알아보자 (1) | 2021.12.20 |
jQuery - $(document).ready() 대신 $()를 사용하자 (6) | 2021.05.13 |
jQuery - 제이쿼리란? (5) | 2021.03.30 |