Document Object Model
- HTML 문서에 접근하기 위한 모델, 인터페이스
- 문서의 모든 요소를 정의하고 각각의 요소에 접근하는 방법을 제공
- HTML을 컨트롤하기 위한 방법 그 자체를 기술한다 봐도 무방
브라우저가 HTML 문서를 로드한 후 생성하는 모델
객체 트리로 구조화 되어 있어서 DOM tree라고 부른다
id 속성값으로 요소 노드
를 한 개
선택한다
복수개가 선택되면 가장 마지막 요소만 리턴
return : 해당 요소 그 자체
요소노드를 1개 선택하는 document 객체의 메서드
요소의 선택var elem = document.querySelector('li.red1'); // 클래스 속성의 값을 변경 elem.className = 'blue';
여러개의 요소 노드 선택
부모노드 탐색 : parentNode
자식노드 탐색 : firstChild
, lastChild
형제노드 탐색: previousSibling
, nextSibling
, previousElementSibling
, nextElementSibling
className
, classList
var test123 = document.querySelectorAll('li');
for(var i =0; i<test123.length; i++) {
test123[i].classList.replace('red1', 'blue');
}
// 클래스 속성값 확인 contains()
// 클래스 속성값 변경 replace()
hasAttribute : 해당 속성이 있는지 검사
getAtrribute : 속성값을 가져옴
setAtrribute : 속성값 설정
removeAtrribute : 속성값 제거
버튼을 누를때마다 비밀번호와 텍스트로 바뀌게하라
var pw = document.querySelector('input[type=password]');
var showbtn = document.querySelector('.show'); // btn의 클래스 명을 지정해서 가져옴
console.log(showbtn)
var showIs =false; // 아래 선언한 지역변수는 t/f 값을 조정하면서
// text와 pw의 스위칭을 조정할 것
function clickEvt() {
pw.setAttribute('type', showIs ? 'password' : 'text');
// 전역변수 showIs를 false로 선언하여
// 속성명 type을 삼항연산자함으로 false인 속성 값 text로 나온다
showIs = !showIs;
// false를 true로 스위칭 해준다
showbtn.innerHTML = showIs ? 'hide' : 'show';
// showIs가 true가 됨으로 hide로 이름을 바꿔준다