날짜 : 2018. 02. 19(월)
getElementsByClassName와 querySelectorAll의 차이점
여기에서는 리턴값의 형태가 어떻게 다른지를 보겠습니다. 요즘에는 위의 2구문 모두 안 사용하기 때문에 그냥 참고만 하시면 되겠습니다.
한줄정리
Collection중 live한 값은 변경을 한경우 현재 사용하고 있는 값 일지라도 즉시 반영 된다.
내용
- 생각을 하게 된 계기
- querySelectorAll의 문서에서 non-live라는 말이 나오는데 무슨 의미 인지 알수가 없다.
- 각 함수의 차이
- getElementsByClassName는 HTMLCOllection를 리턴한다.
- querySelectorAll은 NodeList를 리턴한다.
- 각 리턴값의 차이
- HTMLCOllection은 w3c에서 사용을 권장하지 않는다. (Elements을 권장한다.)
- HTMLCOllection은 ElementNode만을 가지고, NodeList는 모든 Node를 가질수 있다.
- HTMLCOllection은 live하여 변경한 값이 즉시 반영이 되며, NodeList는 일부 live한 경우도 있으며 static한 경우도 있다.
- NodeList live 경우 : Node.childNodes
- NodeList static 경우 : document.querySelectorAll()
참고자료
'개발일지' 카테고리의 다른 글
어떻게 라이브러리를 접근해야 할까? (0) | 2018.03.03 |
---|---|
callback 함수는 callback 함수다. (callback 함수는 비동기가 아니다.(2)) (0) | 2018.02.20 |
현재까지 블로그 글 관리에 대한 고민 (2) | 2018.02.12 |
자바스크립트로 상속의 상속(다중상속) (0) | 2018.02.09 |
자바스크립트 개념 정리 1 (0) | 2018.02.05 |