jQuery 질문... ㅜㅜ
본문
안녕하세요, jQuery attr 함수가 생각대로 잘 안되서 질문드립니다 ㅎㅎ
이렇게 숨기기/보이기 버튼을 클릭할때마다 밑의 <div id="search_div">가 나타나고 숨겨지고 할려고합니다...
처음 버튼을 눌렀을때는 숨겨지는데 다시 한번 누르면 안나타나내요 ㅜㅜ
attr을 사용해 클릭할때마다 class 값을 바꿔가면서 show(), hide()를 등록해줬는데 왜 다시 show()는 안되는지 이해가 안됩니다
그래서 코드의 밑부분에 버튼의 class 값을 출력을 해봤는데 undefined라네요... 위에 사진에도 있습니다;
애초에 그럼 버튼의 class 값이 지정되지 않았단 뜻이여서 attr 해도 소용이 없었던 걸까요??
뭐가 잘못된지 전혀 모르겠습니다. 아니면 다른 방법이라도 알려주실분 ㅜㅜ
<button id="btn" class="hidden">숨기기/보이기</button>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.0.min.js" ></script>
<script type="text/javascript">
$('.hidden').click(function(){
$("#btn").attr('class','show');
$('#search_div').hide();
});
$('.show').click(function(){
$("#btn").attr('class','hidden');
$('#search_div').show();
});
var class_by_id = document.getElementById('btn').ClassName;
document.write(class_by_id);
</script>
답변 2
클래스 추가/삭제 함수는 따로 있습니다.
addClass() / removeClass() 를 이용하세요
단순히 보여주기 숨기기는 jquery show(), hide() 기능을 사용하셔도 됩니다
굳이 클래스와 css까지 사용하셔야되는 상황이 아니라면 더 간편한 기능을 사용하세요
답변을 작성하시기 전에 로그인 해주세요.