Penghapusan Node DOM XML
removeChild()
Metode menghapus node yang ditentukan.
removeAttribute()
Metode menghapus atribut yang ditentukan.
Hapus elemen node
removeChild()
Metode menghapus node yang ditentukan.
Ketika sebuah node dihapus, semua node anaknya juga akan dihapus.
Kode ini akan menghapus elemen <book> pertama dari xml yang telah diunggah:
Contoh
y = xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - Mengatur variabel
y
Ditetapkan menjadi node elemen yang akan dihapus - 使用
removeChild()
Metode menghapus elemen node dari node induk
Hapus diri - Hapus node saat ini
removeChild()
Metode ini adalah metode yang satu-satunya untuk menghapus node yang ditentukan.
Ketika Anda navigasi ke node yang akan dihapus, Anda dapat menggunakan parentNode
Atribut dan removeChild()
Metode untuk menghapus node ini:
Contoh
x = xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - Mengatur variabel
y
Ditetapkan menjadi node elemen yang akan dihapus - 使用
parentNode
Atribut danremoveChild()
metode untuk menghapus node elemen
Menghapus node teks
removeChild()
Metode ini juga dapat digunakan untuk menghapus node teks:
Contoh
x = xmlDoc.getElementsByTagName("title")[0]; y = x.childNodes[0]; x.removeChild(y);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - Mengatur variabel
x
Ditetapkan menjadi node elemen title pertama - Mengatur variabel
y
Ditetapkan menjadi node teks yang akan dihapus - 使用
removeChild()
metode untuk menghapus node dari node orangtua
Hanya menggunakan removeChild()
Kasus penghapusan teks dari node biasanya jarang terjadi. Dapat digantikan dengan atribut nodeValue. Lihat paragraf berikutnya.
Membersihkan node teks
nodeValue
Atribut dapat digunakan untuk mengubah atau membersihkan nilai teks node teks:
Contoh
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - Mengambil pertama node child elemen title
- 使用
nodeValue
Atribut untuk membersihkan teks node
Menghapus node atribut berdasarkan nama
removeAttribute()
Metode ini digunakan untuk menghapus node atribut berdasarkan nama.
Contoh 1
Kode di bawah ini menghapus atribut "category" dari elemen <book> pertama:
x = xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - 使用
getElementsByTagName()
Untuk mendapatkan node book - Menghapus atribut "category" dari node elemen pertama <book>
Contoh 2
Mengulangi dan menghapus semua atribut "category" dari elemen <book>:
for (i = 0; i < xLen; i++) { y = x.item(i); y.removeAttribute('category'); }
Menghapus node atribut berdasarkan objek
removeAttributeNode()
Metode ini menggunakan objek Node sebagai parameter untuk menghapus node atribut.
Kode di bawah ini menghapus semua atribut dari elemen <book>:
Contoh
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); } }
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - 使用
getElementsByTagName()
来获取所有 book 节点 - 检查每个 book 元素是否有属性
- 如果在某个 book 元素中存在属性,则删除该属性