크롬에서만 그런지는 모르겠지만,
JavaScript를 다룰 때, Element를 가져와서 다루려고 할 때,
" var child = Element.firstChild; "
구문을 쓸 경우, Element undefined 라는 경고를 가끔 보게되었는데,
이유는 element의 노드 유형이 3인 Text 유형이라서 그렇다고 한다.
해결방법은 아래 함수를 추가해서 nodeType == 3(Text)일 경우,
Element의 nextSibling을 읽게 하면된다.
function getFirstChild(element) {
var firstChild = element.firstChild;
while (firstChild != null && firstChild.nodeType == 3) {
firstChild = firstChild.nextSibling;
}
return firstChild;
}
- 실사용 -
var Element = document.getElementById("Element Id");
var child = getFirstChild(Element);