حذف العناصر في DOM لـ XML
removeChild()
方法删除指定的节点。
إزالة الخاصية بناءً على الاسم
方法删除指定的属性。
删除元素节点
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
يمكن استخدام الخاصية لإزالة النص من عقدة النص
إزالة الخاصية بناءً على الاسم
إزالة الخاصية بناءً على الاسم
يستخدم هذا الأسلوب لإزالة عقدة الخاصية بناءً على الاسم.
مثال 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'); }
إزالة الخاصية بناءً على العنصر
إزالة الخاصية باستخدام Node
يستخدم هذا الأسلوب باستخدام 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 元素中存在属性,则删除该属性