document.getElementByID 질문!

document.getElementByID 질문!

QA

document.getElementByID 질문!

본문


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

document.getElementsByClassName("login_form")[0];

슈와이 님이 먼저 답변하셔서 제가 나중에 남긴 상황인지라 삭제했더니 슈와이 님도 삭제하셨네요. 

getElementsByClassName() 메소드 이름만 봐도 느끼시겠지만 s가 붙어 있습니다.
getElementById()에는 s가 안 붙었습니다.
s가 붙었으니 복수라는 거겠지요. 그래서 배열로 취급해서 [0] 이게 붙으면 첫 번째 애로 접근을 합니다.
말씀하신 shoow/hide 가능합니다.
document.getElementsByClassName("login_form")[0].style.display = "block"; // none
근데 굳이 저렇게 js로 처리해야 하나요? 엄청 길어서 차라리 jquery 사용하시는 게 더 나을 겁니다.

document.getElementByClass 라는 것은 없습니다. 

 

document.querySelector() 라는 것은 있습니다.

querySelector 는 브라우저 호환성이 IE8이상이나 네임스페이스 이슈가 있어 IE11이상부터 정상작동하는 것으로 알려져 있습니다. 

답변을 작성하시기 전에 로그인 해주세요.
전체 592
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT