#jquery #location_addClass
안녕하세요 Gi-1 입니다.
홈페이지를 만들다 보면, 서브페이지에 접속 하였을 때 네비바 안의 해당 태그에 클래스명을 추가하는 경우가 많은데요!
페이지별 a태그의 href 속성이 페이지 주소에 포함된다면, 클래스를 추가하는 제이쿼리입니다.
입사하고 1년동안 정말 많이 썼던 코드인거 같네요!
별도로 하단에는, 홈페이지 주소에 따라서 수동으로 클래스명을 추가하는 방법도 올려봅니다.
예제
서브페이지의 "공지사항"에 접속한 상황입니다.
이미 공지사항에 접속해 있다는 것을 사용자에게 알려주기 위해서 공지사항이라 큰 타이틀이 써져있고, 리스트에서 공지사항에만 초록색 밑줄이 그어져 있는걸 확인할 수 있습니다.
"복지뉴스"에 접속하면 공지사항에 있는 밑줄은 사라지고, 복지뉴스에 밑줄이 그어질 것 입니다.
html
<header id="header">
<ul class="gnb">
<li class="depth2">
<a href="홈페이지 주소"></a>
</li>
<li class="depth2">
<a href="홈페이지 주소"></a>
</li>
<li class="depth2">
<a href="홈페이지 주소"></a>
</li>
</ul>
</header>
script
<script>
$(document).ready(function () {
var url = window.location.href;
$('#header .gnb .depth2 > a').each(function () {
if (url.indexOf($(this).attr('href')) > -1) {
$(this).parent(".depth2").addClass('active');
}
});
});
</script>
다른 방법으로는, 주소창의 주소에 따라서 클래스를 수동으로 기입해주는 방법이 있습니다.
script
<script>
$(document).ready(function () {
var url = window.location.href;
$('#header .gnb .depth2 > a').filter(function () {
if (url.includes('sub01.php')) {
$(this).parent(".depth2").addClass('active');
} else if (url.includes('sub02.php')) {
$(this).parent(".depth2").addClass('active');
}
})
});
</script>
or
<script>
$(document).ready(function () {
if(window.location.href.indexOf("/company/contact/message/create") > -1)
{
$(".com_contact_top_txt2").addClass("on");
}
});
</script>
'Front-end > jQuery' 카테고리의 다른 글
[jQuery] 클릭 시 클래스 추가/제거 (0) | 2022.01.30 |
---|---|
Length란 무엇일까? , 요소의 존재 여부와 글자 수 세기 (0) | 2022.01.22 |
each()란 무엇일까? (0) | 2022.01.22 |
Form에서 필수입력사항 script로 제어하기. (0) | 2022.01.22 |
[노가다 후기] input 체크시 원하는 텍스트 출력 / input 입력 시 텍스트 출력 (0) | 2022.01.21 |
댓글