querySelector() , querySelectorAll() 요소접근
querySelector()
querySelector 는 특정 name 이나 id 를 제한하지않고 css선택자를 사용하여 요소를 찾습니다.
(#sections) -> sections 아이디를 가진 요소를 찾습니다
(.section) -> section 클래스명을 가진 요소를 찾습니다
반환객체는 한개의 요소만 찾을수있으며 동일한 클래스명 을 가진 객체가 있을경우 html문서내의 첫번째를 나타나는 요소를 반환합니다.
js
var section = document.querySelector("#sections .section"); section.style.border = "1px solid #ff0000";
html
1
- 1-1
- 1-2
- 1-3
2
- 2-1
- 2-2
- 2-3
아래 실행을 시켜보면 #sections 밑의 .section 클래스를 가진 요소중 첫번째 .section 만 변경이 된것을 확인할수있습니다.
- 1
- 1-1
- 1-2
- 1-3
- 2
- 2-1
- 2-2
- 2-3
querySelectorAll()
querySelectorAll 은 querySelect 과 동일하게 작동하나 차이점은 해당 선택자에 해당하는 모든 요소를 가져옵니다.
반환객체는 nodeList이기때문에 for문 또는 foreach 문을 사용해야 합니다.
또한 (',') 을 사용하면 여러요소를 한번에 가져올수있습니다.
js
var sections = document.querySelectorAll("#sections , #sections .section"); console.log(sections.constructor.name) for( var i = 0; i < sections.length; i++ ){ var item = sections.item(i); item.style.border = "1px solid #ff0000"; }
html
1
- 1-1
- 1-2
- 1-3
2
- 2-1
- 2-2
- 2-3
아래 실행을 시켜보면 #section 요소와 #section요소 밑의 .section 요소가 모두 변경되는것을 확인할수 있습니다.
- 1
- 1-1
- 1-2
- 1-3
- 2
- 2-1
- 2-2
- 2-3
'개발 > JavaScript' 카테고리의 다른 글
[JavaScript] JavaScript (자바스크립트) 란 ? (0) | 2017.11.02 |
---|---|
[JavaScript] addEventListener() , 이벤트리스너 등록 (0) | 2017.06.12 |
[JavaScript] getElementsByClassName() 함수 , 자바스크립트 클래스명 접근 (2) | 2017.06.08 |
[JavaScript] getElementsByTagName() 함수 , 자바스크립트 태그명 접근 (0) | 2017.06.08 |
[JavaScript] innerHTML, document.write(), alert(), console.log() 사용법 (0) | 2017.06.07 |