XML DOM previousSibling 속성

정의 및 사용법

previousSibling 속성은 선택된 노드의 직전同级 노드(동일한 트리 레벨에서 직전 노드)를 반환합니다.

그러나 해당 노드가 존재하지 않는 경우, 이 속성은 null을 반환합니다.

문법:

elementNode.previousSibling

고지사항 및 주의사항

주의사항:Internet Explorer는 노드 간에 생성된 공백 텍스트 노드(예: 개행 문자)를 무시합니다. 반면 Mozilla는 이렇게하지 않습니다. 따라서 아래 예제에서는 직전同级 노드의 노드 타입을 검사하는 함수를 사용합니다.

요소 노드의 노드 타입은 1입니다. 따라서 직전同级 노드가 요소 노드가 아니라면, 직전 노드로 이동하고 해당 노드가 요소 노드인지 확인합니다. 이 과정은 직전同级 노드를 찾을 때까지 지속됩니다. 이 방법은 Internet Explorer와 Mozilla에서 모두 올바른 결과를 얻을 수 있도록 합니다.

IE와 Mozilla 브라우저의 차이에 대해 더 많은 내용을 원하시면 CodeW3C.com의 XML DOM 교육 DOM 브라우저 이 장.

예제

모든 예제에서 우리는 XML 파일을 사용할 것입니다 books.xml및 JavaScript 함수 loadXMLDoc()

아래 코드 부분은 XML 문서에서 첫 번째 <author> 요소의 직전同级 노드를 가져옵니다:

//활성同级 노드가 요소 노드인지 확인
function get_previoussibling(n)
{
var x=n.previousSibling;
while (x.nodeType!=1)
  {
  x=x.previousSibling;
  }
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("author")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
var y=get_previoussibling(x);
document.write("<br />이전 동일 계층 노드: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);

위 코드의 출력:

author = Giada De Laurentiis
이전 동일 계층 노드: title = Everyday Italian