XML DOMlastChildプロパティ
❮ノードオブジェクト
例
次のコードフラグメントは、「books.xml」をxmlDocにロードし、ドキュメントの最後の子ノードのノード名を表示します。
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET",
"books.xml", true);
xhttp.send();
// Check if the last node is an
element node
function get_lastchild(n) {
var x = n.lastChild;
while (x.nodeType != 1) {
x = x.previousSibling;
}
return
x;
}
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x = get_lastchild(xmlDoc);
document.getElementById("demo").innerHTML
=
"Nodename: " + x.nodeName +
"
(nodetype: " + x.nodeType + ")<br>";
}
上記のコードの出力は次のようになります。
Nodename: bookstore (nodetype: 1)
定義と使用法
lastChildプロパティは、指定されたノードの最後の子ノードを返します。
構文
nodeObject.lastChild
ヒントと注意
注: Firefoxおよびその他のほとんどのブラウザーは、空の空白または新しい行をテキストノードとして扱いますが、InternetExplorerは扱いません。したがって、以下の例では、最後の子ノードのノードタイプをチェックする関数があります。
要素ノードのnodeTypeは1であるため、最後の子ノードが要素ノードでない場合は、前のノードに移動し、このノードが要素ノードであるかどうかを確認します。これは、最後の子ノード(要素ノードである必要があります)が見つかるまで続きます。このように、結果はすべてのブラウザで正しくなります。
ヒント:ブラウザー間の違いについて詳しくは、 XMLDOMチュートリアルのDOMブラウザーの章をご覧ください。
試してみるデモ
❮ノードオブジェクト