DOM変更ノード
XML DOM ノード値の変更
nodeValue 属性は、ノード値を変更するために使用されます。
setAttribute()メソッドは属性値を変更するために使用されます。
試してみる - 例
以下の例では、XML ファイル Books.xml を使用します。
外部 JavaScript にある関数loadXMLDoc()は、XML ファイルをロードするために使用されます。
要素のテキスト ノードを変更する
この例では、nodeValue 属性を使用して、「books.xml」の最初の
setAttribute を使用して属性値を変更する
この例では、setAttribute() メソッドを使用して、最初の <book> の「category」属性の値を変更します。
nodeValue を使用して属性値を変更する
この例では、nodeValue 属性を使用して、最初の <book> の「category」属性の値を変更します。
要素の値を変更する
DOM では、各コンポーネントはノードです。要素ノードにはテキスト値がありません。
要素ノードのテキストは子ノードに格納されます。このノードをテキストノードと呼びます。
要素のテキストを変更する方法は、この子ノード(テキストノード)の値を変更することです。
テキスト ノードの値を変更する
nodeValue プロパティを使用して、テキスト ノードの値を変更できます。
次のコード スニペットは、最初の <title> 要素のテキスト ノードの値を変更します:
例
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Easy Cooking"; document.write(x.nodeValue); </script> </body> </html>
サンプルの実行»
オンラインのサンプルを表示するには、[サンプルの実行] ボタンをクリックします
インスタンスの説明:
loadXMLDoc()を使用して「books.xml」をxmlDocにロードします
最初の<title>要素のテキストノードを取得します
テキストノードのノード値を「」に変更します簡単クッキング
すべての <title> 要素のテキスト ノードをループして変更します: 試してみてください
属性の値を変更してください
DOM では、属性もノードです。要素ノードとは異なり、属性ノードにはテキスト値があります。 I
属性の値を変更する方法は、そのテキスト値を変更することです。
これは、setAttribute() メソッドまたは属性ノードの nodeValue 属性を使用して実現できます。
setAttribute()
setAttribute() メソッドを使用して属性を変更し、既存の属性の値を変更するか、新しい属性を作成します。
次のコードは、<book> 要素の category 属性を変更します:
Instance
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("category","food"); document.write(x[0].getAttribute("category")); </script> </body> </html>
インスタンスの実行 »
オンライン インスタンスを表示するには、[インスタンスの実行] ボタンをクリックします
例の説明:
loadXMLDoc()を使用して「books.xml」をxmlDocにロードします
最初の<book>要素を取得します
「category」属性の値を「food」に変更します"
すべての <title> 要素をループして、新しい属性を追加します。試してみてください
注: 属性が存在しない場合は、(指定された名前と値で) 新しい属性を作成します。
nodeValue を使用して属性を変更する
nodeValue 属性を使用して属性ノードの値を変更できます:
例
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0] y=x.getAttributeNode("category"); y.nodeValue="food"; document.write(y.nodeValue); </script> </body> </html>
インスタンスの実行»
オンラインで表示するには、[インスタンスの実行] ボタンをクリックします。例
インスタンスの説明:
loadXMLDoc()を使用して、「books.xml」をxmlDocにロードします
最初の<book>要素の「category」属性を取得します
の値を変更します属性ノードを「食べ物」にします