DOM 대체 노드
XML DOM 노드 교체
replaceChild() 메서드는 지정된 노드를 교체합니다.
nodeValue 속성은 텍스트 노드의 텍스트를 대체합니다.
다음 예제에서는 XML 파일을 사용합니다. 책 .xml.
외부 JavaScript에 있는 loadXMLDoc() 함수는 XML 파일을 로드하는 데 사용됩니다.
요소 노드 바꾸기
이 예제에서는 첫 번째 <book> 노드를 바꾸기 위해 replacementChild()를 사용합니다.
텍스트 노드의 데이터 바꾸기
이 예에서는 nodeValue 속성을 사용하여 텍스트 노드의 데이터를 바꿉니다.
요소 노드 교체
replaceChild() 메서드는 노드를 교체하는 데 사용됩니다.
다음 코드 조각은 첫 번째 <book> 요소를 대체합니다:
Instance
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement; //create a book element, title element and a text node newNode=xmlDoc.createElement("book"); newTitle=xmlDoc.createElement("title"); newText=xmlDoc.createTextNode("A Notebook"); //add the text node to the title node, newTitle.appendChild(newText); //add the title node to the book node newNode.appendChild(newTitle); y=xmlDoc.getElementsByTagName("book")[0] //replace the first book node with the new node x.replaceChild(newNode,y); z=xmlDoc.getElementsByTagName("title"); for (i=0;i<z.length;i++) { document.write(z[i].childNodes[0].nodeValue); document.write("<br>"); } </script> </body> </html>
인스턴스 실행»
온라인 예제를 보려면 "예제 실행" 버튼을 클릭하세요
예제 설명:
loadXMLDoc()을 사용하여 "books" 로드 .xml" xmlDoc에서
은 새로운 요소 노드 <book>
을 생성하고 새로운 요소 노드 <title><🎜를 생성합니다. >
- "노트북"이라는 텍스트를 사용하여 새 텍스트 노드를 만듭니다.
- 이 새 텍스트 노드를 새 요소 노드
- 이 새 요소 노드 <title>를 새 요소 노드 <book>에 추가합니다.
- 첫 번째 <book> 새로운 <book> 요소 노드
텍스트 노드의 데이터 바꾸기replaceData() 메서드는 텍스트 노드의 데이터를 바꾸는 데 사용됩니다. replaceData() 메서드에는 세 가지 매개 변수가 있습니다.
- offset - 문자 교체를 시작할 위치입니다. 오프셋 값은 0부터 시작합니다.
- length - 대체할 문자 수
- string - 삽입할 문자열
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; document.write(x.nodeValue); x.replaceData(0,8,"Easy"); document.write("<br>"); document.write(x.nodeValue); </script> </body> </html>
인스턴스 실행»온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
예제 설명:
loadXMLDoc()을 사용하여 "books.xml"을 xmlDoc에 로드합니다.
첫 번째 < ; 요소 노드
의 텍스트 노드는 replacementData 메서드를 사용하여 텍스트 노드의 처음 8자를 "Easy"
로 바꿉니다.
대신 nodeValue 속성을 사용하세요. 텍스트 노드의 데이터를 nodeValue 속성으로 바꾸는 것이 더 쉽습니다.
다음 코드 조각은 첫 번째 <title> 요소의 텍스트 노드 값을 "Easy Italian"으로 바꿉니다.
예
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; document.write(x.nodeValue); x.nodeValue="Easy Italian"; document.write("<br>"); document.write(x.nodeValue); </script> </body> </html>
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
인스턴스 설명:
loadXMLDoc() 사용 xmlDoc에 "books.xml" 로드
첫 번째 <title> 요소 노드의 텍스트 노드 가져오기
nodeValue 속성을 사용하여 이 텍스트 노드의 텍스트를 변경합니다.
노드 변경 장에서 노드 값 변경에 대한 자세한 내용을 읽을 수 있습니다.