XMLDOMノードの削除
- 前のページ DOM ノードの変更
- 次のページ 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
以下のコードは、最初の <book> 要素から "category" 属性を削除します:
x = xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
例解:
- 仮定 books.xml 已被読み込まれました
xmlDoc
中 - 使用
getElementsByTagName()
book ノードを取得するために - 最初の book 要素ノードから "category" 属性を削除します
例2
すべての <book> 要素の "category" 属性を循環して削除します:
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 要素に属性が存在する場合、その属性を削除します
- 前のページ DOM ノードの変更
- 次のページ DOM ノードの置換