XML DOM firstChild 属性
-
定义和使用
firstChild 属性返回文档的第一个子节点。注意:Firefox 和大多数其他浏览器会将空白或新行视为文本节点,而 Internet Explorer 则不会。 因此,在下面的示例中,我们具有一个检查第一个子节点的节点类型的函数。元素节点的 nodeType 为 1,因此,如果第一个子节点不是元素节点,它将移至下一个节点,并检查该节点是否为元素节点。 这一直持续到找到第一个子节点(必须是元素节点)为止。 这样,结果将在所有浏览器中都是正确的。 -
浏览器支持
Internet Explorer Chrome FireFox Safari Opera 8.0(包含)以上支持 4.0(包含)以上支持 2.0(包含)以上支持 3.0(包含)以上支持 9.0(包含)以上支持 所有主流的浏览器均支持 firstChild 属性。
-
语法
documentObject.firstChild
参数
参数 类型 描述 无 -
示例
以下代码片段将 "books.xml" 加载到 xmlDoc 中并显示第一个子节点的节点名称和节点类型:
尝试一下<!DOCTYPE html> <html> <body> <p id="demo"></p> <script> var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (xhttp.readyState == 4 && xhttp.status == 200) { myFunction(xhttp); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Check if the first node is an element node function get_firstchild(n) { var x = n.firstChild; while (x.nodeType != 1) { x = x.nextSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; // 获取文档的第一个子节点 var x = get_firstchild(xmlDoc); // 获取根元素的第一个子节点 var y = get_firstchild(xmlDoc.documentElement); document.getElementById("demo").innerHTML = "Nodename: " + x.nodeName + " (nodetype: " + x.nodeType + ")<br>" + "Nodename: " + y.nodeName + " (nodetype: " + y.nodeType + ")<br>"; } </script> </body> </html>
上面代码的输出将是:Nodename: bookstore (nodetype: 1) Nodename: book (nodetype: 1)