DOM 삭제 노드
XML DOM 노드 삭제
removeChild() 메소드는 지정된 노드를 삭제합니다.
removeAttribute() 메소드는 지정된 속성을 삭제합니다.
시도해 보기 - 예
아래 예에서는 books.xml XML 파일을 사용합니다.
외부 JavaScript에 있는 loadXMLDoc() 함수는 XML 파일을 로드하는 데 사용됩니다.
요소 노드 삭제
이 예에서는 RemoveChild()를 사용하여 첫 번째 <book> 요소를 삭제합니다.
현재 요소 노드 삭제
이 예에서는 parentNode 및 RemoveChild()를 사용하여 현재 <book> 요소를 삭제합니다.
텍스트 노드 삭제
이 예에서는 RemoveChild()를 사용하여 첫 번째 <title> 요소의 텍스트 노드를 삭제합니다.
텍스트 노드의 텍스트 지우기
이 예에서는 nodeValue() 속성을 사용하여 첫 번째 <title> 요소의 텍스트 노드를 지웁니다.
이름별 속성 제거
이 예에서는 첫 번째 <book> 요소에서 "category" 속성을 제거하기 위해 RemoveAttribute()를 사용합니다.
객체 기반 속성 제거
이 예에서는 모든 <book> 요소에서 모든 속성을 제거하기 위해 RemoveAttributeNode()를 사용합니다.
요소 노드 삭제
removeChild() 메서드는 지정된 노드를 삭제합니다.
노드가 삭제되면 모든 하위 노드도 삭제됩니다.
다음 코드 조각은 로드된 xml에서 첫 번째 <book> 요소를 제거합니다.
예
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); document.write("Number of book nodes: "); document.write(xmlDoc.getElementsByTagName('book').length); document.write("<br>"); y=xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y); document.write("Number of book nodes after removeChild(): "); document.write(xmlDoc.getElementsByTagName('book').length); </script> </body> </html>
예제 실행»
온라인 예제를 보려면 "예제 실행" 버튼을 클릭하세요
예제 설명:
loadXMLDoc( )를 "books.xml"로 로드 xmlDoc
삭제할 요소 노드에 y 변수를 설정합니다.
removeChild()를 사용하여 상위 노드의 메소드 요소 노드 삭제
자신 삭제 - 현재 노드 삭제
RemoveChild() 메소드는 지정된 노드를 삭제할 수 있는 유일한 메소드입니다. .
삭제해야 하는 노드로 이동한 경우 parentNode 특성과 RemoveChild() 메서드를 사용하여 이 노드를 삭제할 수 있습니다.
Instance
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); document.write("Number of book nodes before removeChild(): "); document.write(xmlDoc.getElementsByTagName("book").length); document.write("<br>"); x=xmlDoc.getElementsByTagName("book")[0] x.parentNode.removeChild(x); document.write("Number of book nodes after removeChild(): "); document.write(xmlDoc.getElementsByTagName("book").length); </script> </body> </html>
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
예제 설명:
loadXMLDoc()을 사용하여 "books.xml"을 xmlDoc에 로드합니다.
변수 y를 원하는 삭제된 요소 노드
parentNode 특성과 RemoveChild() 메서드를 사용하여 이 요소 노드를 삭제합니다.
텍스트 노드 삭제
removeChild() 메소드를 사용하여 텍스트 노드를 삭제할 수 있습니다:
Instance
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0]; document.write("Child nodes: "); document.write(x.childNodes.length); document.write("<br>"); y=x.childNodes[0]; x.removeChild(y); document.write("Child nodes: "); document.write(x.childNodes.length); </script> </body> </html>
인스턴스 실행 »
온라인 예제를 보려면 "예제 실행" 버튼을 클릭하세요.
예제 설명:
loadXMLDoc()을 사용하여 "books.xml"을 xmlDoc에 로드합니다.
변수 x를 첫 번째 제목 요소 노드로 설정
변수 y를 삭제할 텍스트 노드로 설정
-
removeChild() 메서드를 사용하여 상위 노드에서 요소 노드를 제거합니다.
덜 일반적으로 사용되는 RemoveChild()는 노드에서 텍스트를 제거합니다. 대신 nodeValue 속성을 사용할 수 있습니다. 다음 단락을 참조하십시오.
텍스트 노드 지우기
nodeValue 속성을 사용하여 텍스트 노드의 값을 변경하거나 지울 수 있습니다:
인스턴스
<!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("Value: " + x.nodeValue); document.write("<br>"); x.nodeValue=""; document.write("Value: " + x.nodeValue); </script> </body> </html>
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
인스턴스 설명:
loadXMLDoc() 사용 xmlDoc에 "books.xml" 로드
변수 x를 첫 번째 제목 요소의 텍스트 노드로 설정
nodeValue 속성을 사용하여 텍스트 노드의 텍스트를 지웁니다.
모든 <title> 요소의 텍스트 노드를 반복하고 변경합니다.
이름으로 속성 노드 삭제
removeAttribute(name) 메소드는 이름을 기준으로 속성 노드를 삭제하는 데 사용됩니다.
예: RemoveAttribute('category')
다음 코드 조각은 첫 번째 <book> 요소에서 "category" 속성을 제거합니다.
예
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); document.write(x[0].getAttribute('category')); document.write("<br>"); x[0].removeAttribute('category'); document.write(x[0].getAttribute('category')); </script> </body> </html>
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
예제 설명:
loadXMLDoc()을 사용하여 "books.xml"을 xmlDoc에 로드합니다.
getElementsByTagName()을 사용하여 가져옵니다. book 노드
첫 번째 book 요소 노드에서 "category" 속성을 제거합니다
모든 <book> 요소의 "를 탐색하고 삭제합니다. 카테고리" 속성:
객체를 기반으로 속성 노드 삭제
removeAttributeNode(node) 메소드를 사용하면 노드 객체를 매개변수로 사용하여 속성 노드를 제거합니다.
예: RemoveAttributeNode(x)
다음 코드 조각은 모든 <book> 요소의 모든 속성을 제거합니다.
예
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); for (i=0;i<x.length;i++) { while (x[i].attributes.length>0) { attnode=x[i].attributes[0]; old_att=x[i].removeAttributeNode(attnode); document.write("Removed: " + old_att.nodeName) document.write(": " + old_att.nodeValue) document.write("<br>") } } </script> </body> </html>
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
인스턴스 설명:
loadXMLDoc()을 사용하여 "books.xml"을 xmlDoc에 로드
getElementsByTagName()을 사용하여 모든 책 노드 가져오기
책 요소에 속성이 있는지 여부를 각각 확인하세요.
책 요소에 속성이 있으면 해당 속성을 삭제하세요.