function showhide() { var x = document.getElementByID('login_form');if (x.style.display === 'none') { x.style.display = 'block'; } else { x.style.display = 'none'; }} <a onClick="showhide();">클릭하세요~</a>
여기서 document.getElementByID('login_form'); 이 소스는 태그값이 id인 login_form (element)로 반환인데
document.getElementByClass('login_form'); 이렇게 태그값이 class인것을 (element)로 반환할수 없나요?
답변 2개 / 댓글 3개
document.getElementsByClassName("login_form")[0];
슈와이 님이 먼저 답변하셔서 제가 나중에 남긴 상황인지라 삭제했더니 슈와이 님도 삭제하셨네요.
답변에 대한 댓글 3개
getElementById()에는 s가 안 붙었습니다.
s가 붙었으니 복수라는 거겠지요. 그래서 배열로 취급해서 [0] 이게 붙으면 첫 번째 애로 접근을 합니다.
말씀하신 shoow/hide 가능합니다.
document.getElementsByClassName("login_form")[0].style.display = "block"; // none
근데 굳이 저렇게 js로 처리해야 하나요? 엄청 길어서 차라리 jquery 사용하시는 게 더 나을 겁니다.
document.getElementByClass 라는 것은 없습니다.
document.querySelector() 라는 것은 있습니다.
querySelector 는 브라우저 호환성이 IE8이상이나 네임스페이스 이슈가 있어 IE11이상부터 정상작동하는 것으로 알려져 있습니다.
답변을 작성하려면 로그인이 필요합니다.
<div class="login_form">login_form</div> // 이 div를 block&none할수 있는거죠?
그리고 뒤에 배열[0]은 무슨 의미인가요?