XMLDOM教程
  • [XMLDOM教程]XML DOM 教程
  • [XMLDOM教程]XML DOM 简介
  • [XMLDOM教程]XML DOM 节点
  • [XMLDOM教程]XML DOM 节点树
  • [XMLDOM教程]XML DOM 解析器
  • [XMLDOM教程]XML DOM 加载函数
  • [XMLDOM教程]XML DOM - 属性和方法
  • [XMLDOM教程]XML DOM - 访问节点
  • [XMLDOM教程]XML DOM 节点信息
  • [XMLDOM教程]XML DOM 节点列表
  • [XMLDOM教程]XML DOM 遍历节点树
  • [XMLDOM教程]XML DOM 浏览器差异
  • [XMLDOM教程]XML DOM - 导航节点
  • [XMLDOM教程]XML DOM 获取节点值
  • [XMLDOM教程]XML DOM 改变节点值
  • [XMLDOM教程]XML DOM 删除节点
  • [XMLDOM教程]XML DOM 替换节点
  • [XMLDOM教程]XML DOM 创建节点
  • [XMLDOM教程]XML DOM 添加节点
  • [XMLDOM教程]XML DOM 克隆节点
  • [XMLDOM教程]XML HttpRequest 对象
  • [XMLDOM教程]XML DOM 节点类型
  • [XMLDOM教程]XML DOM - Node 对象
  • [XMLDOM教程]XML DOM - NodeList 对象
  • [XMLDOM教程]XML DOM - NamedNodeMap 对象
  • [XMLDOM教程]XML DOM - Document 对象
  • [XMLDOM教程]XML DOM - DocumentImplementation 对象
  • [XMLDOM教程]XML DOM - DocumentType 对象
  • [XMLDOM教程]XML DOM - ProcessingInstruction 对象
  • [XMLDOM教程]XML DOM - Element 对象
  • [XMLDOM教程]XML DOM - Attr 对象
  • [XMLDOM教程]XML DOM - Text 对象
  • [XMLDOM教程]XML DOM - CDATASection 对象
  • [XMLDOM教程]XML DOM - Comment 对象
  • [XMLDOM教程]DOM XMLHttpRequest 对象
  • [XMLDOM教程]XML DOM Parse Error 对象
  • [XMLDOM教程]XML DOM 解析器错误
  • [XMLDOM教程]XML DOM 总结
  • [XMLDOM教程]XML DOM 实例
  • [XMLDOM教程]XML DOM 验证XML语法
  • 直达腾讯云服务器
    腾讯云服务器,数据库,短信等热销产品限量秒杀;新购爆款3折起;
    腾讯云数据库MySQL入门机型仅12元/月
    腾讯云云服务器新购特惠,最低2折起,1核1G3年仅794.73元,即0.73元/日。
    腾讯云国际顶级CA机构SSL证书8.8折,云解析买一年最高送半年!
    腾讯云为数百万企业和开发者提供安全、稳定的云服务器、云数据库、CDN等云服务
    腾讯云服务器安全可靠高性能,多种配置供您选择
    腾讯云数据库性能卓越稳定可靠,为您解决数据库运维难题
    阿里云服务器入口
    180天免费用腾讯云服务器马上领取
    您当前位置:狗鱼MySQL教程 >> 学习XML >> XMLDOM教程 >> XML DOM - 导航节点
    XML DOM - 导航节点
    更新日期: 2017年07月13日 来源: 本站原创 作者: 佚名 阅读:
    上一篇XML DOM 浏览器差异 下一篇:XML DOM 获取节点值

    xml DOM - 导航节点


    可通过使用节点间的关系对节点进行导航。


    导航 DOM 节点

    通过节点间的关系访问节点树中的节点,通常称为导航节点("navigating nodes")。

    xml dom 中,节点的关系被定义为节点的属性:

    • parentNode
    • childNodes
    • firstChild
    • lastChild
    • nextSibling
    • previousSibling

    下面的图像展示了 books.xml 中节点树的一个部分,并说明了节点之间的关系:

    XML DOM - 导航节点


    DOM - 父节点

    所有的节点都仅有一个父节点。下面的代码导航到 <book> 的父节点:

    实例

    xmlDoc=loadXMLDoc("books.xml");
    x=xmlDoc.getElementsByTagName("book")[0];
    document.write(x.parentNode.nodeName);

     

    实例解释:

    1. 使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
    2. 获取第一个 <book> 元素
    3. 输出 "x" 的父节点的节点名称

    避免空的文本节点

    Firefox 以及其他一些浏览器,把空的空白或换行当作文本节点,而 Internet Explorer 不会这么做。

    这会在使用以下属性:firstChild、lastChild、nextSibling、previousSibling 时产生一个问题。

    为了避免导航到空的文本节点(元素节点之间的空格和换行符),我们使用一个函数来检查节点类型:

    function get_nextSibling(n)
    {
      y=n.nextSibling;
      while (y.nodeType!=1)
      {
        y=y.nextSibling;
      }
      return y;
    }
    

    上面的函数允许您使用 get_nextSibling(node)来代替 node.nextSibling 属性。

    代码解释:

    元素节点的类型是 1。如果同级节点不是元素节点,就移动到下一个节点,直到找到元素节点为止。通过这个办法,在 Internet Explorer 和 Firefox 中,都可以得到相同的结果。


    获取第一个子元素

    下面的代码显示第一个 <book> 的第一个元素:

    实例

    <html>
    <head>
    <script src="loadxmldoc.js"> </script>
    <script>
    // 检测第一个节点是否为元素节点
    function get_firstChild(n) { y=n.firstChild;
    while (y.nodeType!=1) { y=y.nextSibling;
    }
    return y;
    } </script>
    </
    head>
    <
    body>
    <
    script> xmlDoc=loadXMLDoc("books.xml");
    x=get_firstChild(xmlDoc.getElementsByTagName("book")[0]);
    document.write(x.nodeName);
    </script>
    </body>
    </html>

    输出:

    title

     

    实例解释:

    1. 使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
    2. 在第一个 <book> 元素上使用 get_firstChild 函数,来获取第一个子节点(属于元素节点)
    3. 输出第一个子节点(属于元素节点)的节点名称

    更多实例

    lastChild()
    本例使用 lastChild() 方法和一个自定义函数来获取节点的最后一个子节点

    nextSibling()
    本例使用 nextSibling() 方法和一个自定义函数来获取节点的下一个同级节点

    previousSibling()
    本例使用 previousSibling() 方法和一个自定义函数来获取节点的上一个同级节点

    感觉本站内容不错,读后有收获?

    我要小额赞助,鼓励提供更好的内容教程

    上一篇XML DOM 浏览器差异 下一篇:XML DOM 获取节点值
    Copyright 2013-2017 Powered by 狗鱼MySQL教程,All Rights Reserved.
    广州相如计算机科技有限有限公司 版权所有 粤ICP备08130661号-4
    售前咨询:020-38667011 手机:13711588918