탭메뉴 사용시 선택한 메뉴에 active클래스를 줘야하는 일이 발생한다.
그러기 위해서는 클래스가 존재하는지 존재여부를 판단해야 하는데
그럴때 사용하는 메소드가 hasClass이다.
<ul class="noticeTabArea">
<li class="active>
<a href="javascript:item.formSearch('tab');" data-value="CHN"> 중국 </a>
</li>
<li>
<a href="javascript:item.formSearch('tab');" data-value="IND">인도</a>
</li>
<li>
<a href="javascript:item.formSearch('tab');" data-value="IDN">인도네시아</a>
</li>
<li>
<a href="javascript:item.formSearch('tab');" data-value="VNM">베트남</a>
</li>
</ul>
예를들면 위와 같이 li태그로 만든 탭메뉴가 존재한다.
4개의 li태그 중 어떤 li에 active클래스가 적용됐는지 확인을 위해 hasClass를 사용한다.
내가 하고 싶은 작업은 active클래스가 적용된 li태그 안에 있는 a태그의 data-value의 값을 가지고 오고싶은데
hasClass에서는 $(this)를 사용할 수 없다.
그렇기 때문에 each함수를 사용하여 li태그를 하나씩 탐색하면서
active클래스가 있는지 확인을하여 data-value를 가져 올 수 있다.
예제코드
<script>
$(".noticeTabArea li").each(function(){
var NtnCd = $(this).find("a").attr("data-value");
console.log("NtnCd : ",NtnCd);
//결과: NtnCd : CHN
});
</script>
'Frontend > Java Script' 카테고리의 다른 글
[JQuery] 동적으로 생성된 태그에 이벤트 주기 (0) | 2023.09.04 |
---|---|
[JQuery] 이벤트 함수 on(), off() (0) | 2023.05.09 |
[JQuery] 요소 존재 여부 확인 (0) | 2023.05.09 |
[jQuery]display 여부에 따른 show, hide 설정하기. (0) | 2023.02.01 |
JavaScript 이벤트 (0) | 2022.10.20 |