테스트 사이트 - 개발 중인 베타 버전입니다

div id값으로 안 보이게 하는 방법 질문요 채택완료

 

 

 

이렇게 소스가 되어 있습니다. 기본으로 다 안 보이고

 

보기 이런식으로 클릭할때만 그 숫자의 레이어만 보이게 할려고 하는데요

 

function select(aa) {   document.getElementById('city'+aa).style.display = '';

}

 

근데 문제는 이렇게 하면  보기 또 눌러 버리면 0,1 레이어가 다 보이게 됩니다. 0을 클릭하면 다른건 안 보이고 0만 보여야 하고, 1을 누르면 0은 안 보이고 1만 보여야 합니다.

 

어떻게 해야 할까요?

 

물론 1을 누루면 0,2를 none 으로 하는 스크립트를 넣으면 되긴 하는데 문제는 저 값들이 고정된게 아니라서 어떤곳은 1~9까지 있을수 있고, 어떤곳은 1~3 이럴수도 있어서

 

뭐 길게 설명했지만 핵심은 스크립트 처리를 할때 id 값으로 포괄적으로 실행시키는 방법이있나요?

 

예를 들어 city 으로 시작하는 id값을 모두 한번에 실행시킬수 있는

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트

</p>

<p><script>

$(function() {

    $(".city").on("click", function() {

        $("#city" + $(this).data("no")).toggle();

    });

});

</script></p>

<p><div id="city0" style="display: none;">0</div>

<div id="city1" style="display: none;">1</div>

<div id="city2" style="display: none;">2</div>

<a href="#" class="city" data-no="0">보기</a>

<a href="#" class="city" data-no="1">보기</a>

<a href="#" class="city" data-no="2">보기</a></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 7개

1보기를 눌렀다가, 다시 0보기를 누르면
안 사라집니다. 0보기 누르면 city0만 보이고 나머지는 안 보여야 하는데 그대로 보입니다.
[code]
$(".city").on("click", function() {
$("div[id^='city']").hide();
$("#city" + $(this).data("no")).toggle();
});
[/code]
감사합니다. 됩니다. ^^
근데 링크를 <a href="#" 이런식으로 하다보니 클릭할때마다 화면이 위로 올라가 버리는데 화면 이동없이 a 링크도 되나요?
href="#" 없애면 됩니다.
아니면 태그를 span 태그로 바꾸고 href="#" 를 없애도 되구요
[code]
$(".city").on("click", function(e) {
e.preventDefault();
$("div[id^='city']").hide();
$("#city" + $(this).data("no")).toggle();
});
[/code]
오우 감사합니다. 쟁반짜장님 짱~
백수1995 님도 답변 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록