[출처] nodeName과 nodeValue 프로퍼티|작성자 깜스
어떤 형식의 노드에서 얻고자 하는 노드의 이름 과 값을 얻기 위해서는
nodeName 과 nodeValue 프로퍼티를 사용해서 원하는 값을 얻어 올수가 있다.
nodeName은 읽기 전용으로써 프로퍼티 값을 가져 올수는 있지만 그 값을 변경 할수는 없다.
nodeValue는 그 값을 수정할수 있다.
DOM 의 관점에서 볼때 textNode 는 엘리먼트 노드의 자식 노드로 취급 된다.
하지만, 엘리먼트 안의 속성 노드는 엘리먼트의 자식노드로 취급되지 않는다.
(이것은 그냥 외워버리자!!아주 중요한 개념!!)
예를 들어, nodeName이 요소(엘리먼트)의 경우에는 그 요소의 이름을 반환하지만,
그 요소가 텍스트 노드 일 경우에는 "#text" 문자열을 돌려 준다.왜 그런지 생각해 보자
텍스트 노드는 해당 name값이 없기 때문임을 쉽게 알수 있을 것이다.
한가지 예를 더 들어보자..
<name>sean</name>라는 xml이 있다고 가정하고 그것을 참조하는 objNode라는 변수가 잇다고 하자..그러면
alert(objNode.nodeValue);
이것의 결과는 어떻게 나올까?sean이 나올까?
아니다..., 'null'이 나오게 된다
이유는, objNode라는 변수가 name이라는 값을 참조 하고 있고 sean은 name의 자식 텍스트 노드 이기 때문이다..
그러면, objNode라는 변수가 name의 자식 텍스트 노드를 참조 하고 있을때는 sean이 나오게된다.