Menghapus Node XML DOM
- Halaman Sebelumnya Ubah Nod DOM
- Halaman Berikutnya Gantikan Nod DOM
removeChild() 方法删除指定节点。
removeAttribute() 方法删除指定属性。
实例
以下例子使用 XML 文件 books.xml。
函数 loadXMLDoc(),位于外部 JavaScript 中,用于加载 XML 文件。
- 删除元素节点
- 本例使用 removeChild() 来删除第一个 <book> 元素。
- 删除当前元素节点
- 本例使用 parentNode 和 removeChild() 来删除当前的 <book> 元素。
- Menghapus node teks
- 本例使用 removeChild() 来删除第一个 <title> 元素的文本节点。
- 清空文本节点的文本
- 本例使用 nodeValue() 属性来清空第一个 <title> 元素的文本节点。
- 根据名称删除属性
- 本例使用 removeAttribute() 从第一个 <book> 元素中删除 "category" 属性。
- 根据对象删除属性
- 本例使用 removeAttributeNode() 删除 <book> 元素中的所有属性。
删除元素节点
removeChild() 方法删除指定的节点。
当一个节点被删除时,其所有子节点也会被删除。
以下代码片段将从加载的 xml 中删除第一个 <book> 元素:
xmlDoc=loadXMLDoc("books.xml"); y=xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
Contoh penjelasan:
- Melalui penggunaan loadXMLDoc() Buat "books.xml"Memuatkan xmlDoc"
- Tetapkan variabel y ke elemen yang akan dihapus
- Menghapus node elemen melalui penggunaan metode removeChild() dari node induk
Menghapus diri sendiri - menghapus node saat ini
Metode removeChild() adalah metode yang hanya dapat menghapus node yang ditentukan.
Ketika Anda sudah menempatkan node yang akan dihapus, dapat dihapus melalui penggunaan atribut parentNode dan metode removeChild():
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
Contoh penjelasan:
- Melalui penggunaan loadXMLDoc() Buat "books.xml"Memuatkan xmlDoc"
- Tetapkan variabel y ke elemen yang akan dihapus
- Menghapus elemen ini melalui penggunaan atribut parentNode dan metode removeChild()
Menghapus node teks
Metode removeChild() dapat digunakan untuk menghapus node teks:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0]; y=x.childNodes[0]; x.removeChild(y);
Contoh penjelasan:
- Melalui penggunaan loadXMLDoc() Buat "books.xml"Memuatkan xmlDoc"
- Tetapkan variabel x ke node element pertama title
- Tetapkan variabel y ke teks yang akan dihapus
- Menghapus node melalui penggunaan metode removeChild() dari node induk
Tidak biasa digunakan removeChild() untuk menghapus teks dari node. Dapat digantikan dengan atribut nodeValue. Lihat bagian berikutnya.
Membersihkan node teks
Atribut nodeValue dapat digunakan untuk mengubah atau membersihkan nilai node teks:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="";
Contoh penjelasan:
- Melalui penggunaan loadXMLDoc() Buat "books.xml"Memuatkan xmlDoc"
- Tetapkan variabel x ke node teks pertama title
- Gunakan atribut nodeValue untuk membersihkan teks node teks
Lanjutkan dan ubah semua node <title> dalam teks: TIY
Menghapus node atribut berdasarkan nama
Metode removeAttribute(name) digunakan untuk menghapus node atribut berdasarkan nama.
Contoh: removeAttribute('category')
Kode片段 di bawah ini menghapus atribut 'category' dalam elemen pertama <book>:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
Contoh penjelasan:
- Melalui penggunaan loadXMLDoc() Buat "books.xml"Memuatkan xmlDoc"
- Menggunakan getElementsByTagName() untuk mendapatkan node 'book'
- Hapus atribut "category" daripada nod elemen pertama book
Bersihkan atribut "category" semua elemen <book>: TIY.
Hapus nod atribut berdasarkan objek
Metode removeAttributeNode(node) menghapuskan nod atribut menggunakan objek Node sebagai parameter.
Contoh: removeAttributeNode(x)
Kod berikut menghapuskan semua atribut daripada elemen <book>:
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); } }
Contoh penjelasan:
- Melalui penggunaan loadXMLDoc() Buat "books.xml"Memuatkan xmlDoc"
- Gunakan getElementsByTagName() untuk mendapatkan semua nod book
- Periksa setiap elemen book jika ia mempunyai atribut
- Hapus atribut jika ia ada dalam sebarang elemen book
- Halaman Sebelumnya Ubah Nod DOM
- Halaman Berikutnya Gantikan Nod DOM