การลบตัวเลือกของ XML DOM
removeChild()
方法删除指定的节点。
removeAttribute()
方法删除指定的属性。
删除元素节点
removeChild()
方法删除指定的节点。
当一个节点被删除时,它的所有子节点也会被删除。
这段代码将从已加载的 xml 中删除第一个 <book> 元素:
ตัวอย่าง
y = xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - ตั้งตัวแปร
y
ตั้งโนด์ที่ต้องการลบ - 使用
removeChild()
方法从父节点中删除该元素节点
删除自己 - 删除当前节点
removeChild()
方法是唯一可以删除指定节点的方法。
当您导航到要删除的节点时,可以使用 parentNode
และ removeChild()
方法来删除该节点:
ตัวอย่าง
x = xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - ตั้งตัวแปร
y
ตั้งโนด์ที่ต้องการลบ - 使用
parentNode
และremoveChild()
วิธีนี้เพื่อลบโนด์อิเล็กทรอนิก
ลบโนด์ข้อความ
removeChild()
วิธีนี้ก็สามารถใช้เพื่อลบโนด์ข้อความ
ตัวอย่าง
x = xmlDoc.getElementsByTagName("title")[0]; y = x.childNodes[0]; x.removeChild(y);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - ตั้งตัวแปร
x
เป็นโนด์แรกของ title - ตั้งตัวแปร
y
เพื่อตั้งโนด์ที่ต้องการลบ - 使用
removeChild()
วิธีนี้เพื่อลบโนด์จากต้นโนด์
ใช้ removeChild()
กรณีที่ลบข้อความจากโนด์ไม่เป็นไปตามกฎทั่วไป สามารถใช้คุณสมบัติ nodeValue แทน ดูจากบทที่ต่อไป
เคลี่ยนค่าโนด์ข้อความเป็นว่าง
nodeValue
คุณสมบัติสามารถใช้เพื่อเปลี่ยนหรือเคลี่ยนค่าของโนด์ข้อความหรือเคลี่ยนค่าเป็นว่าง
ตัวอย่าง
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - รับโนด์ลูกแรกของตัวเลขแรกของ title
- 使用
nodeValue
คุณสมบัติสามารถใช้เพื่อเปลี่ยนหรือเคลี่ยนค่าของโนด์ข้อความ
ลบตัวเลขในคุณสมบัติตามชื่อ
removeAttribute()
วิธีนี้ใช้เพื่อลบตัวเลขในคุณสมบัติตามชื่อ
ตัวอย่าง 1
รหัสด้านล่างนี้ลบคุณสมบัติ "category" ออกจากตัวเลขแรกของ <book> ออก
x = xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - 使用
getElementsByTagName()
เพื่อรับ book โนด์ - ลบคุณสมบัติ "category" ออกจากตัวเลขแรกของ book โนด์
ตัวอย่าง 2
วนลูปและลบคุณสมบัติ "category" ของ <book> ทั้งหมด
for (i = 0; i < xLen; i++) { y = x.item(i); y.removeAttribute('category'); }
ลบตัวเลขในคุณสมบัติตามวัตถุ
removeAttributeNode()
วิธีนี้ใช้ Node โอบเจกต์เป็นตัวอุปกรณ์เพื่อลบตัวเลขในคุณสมบัติ
รหัสด้านล่างนี้ลบคุณสมบัติทั้งหมดของ <book> ออก
ตัวอย่าง
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 元素中存在属性,则删除该属性