zoukankan      html  css  js  c++  java
  • 包含表格的文档的DOM结构分析

    一般而言,DOM结构准确地反映了HTML文档所包含的内容,也就是说,每个HTML标记表现为一个标记节点(tag node),每个文本项内容表现为一个文本项节点(text node)。这种表现形式一般称为WYSIWYG,即所见即所得。但是,<TABLE>标记是一个例外情况。当有<TABLE>标记时,我们可以设想它另外包含一对<TBODY>标记。来看看下面的一段代码:

      <TABLE ID="tableNode">
      <TR><TD BGCOLOR="yellow">This is row 1, cell 1</TD><TD BGCOLOR="orange">This is row 1, cell 2</TD></TR>
      <TR><TD BGCOLOR="red">This is row 2, cell 1</TD><TD BGCOLOR="magenta">This is row 2, cell 2</TD></TR>
      <TR><TD BGCOLOR="lightgreen">This is row 3, cell 1</TD><TD BGCOLOR="beige">This is row 3, cell 2</TD></TR>
      </TABLE>

      在分析它的DOM结构前,我们要为这段代码添加上一对<TBODY>标记:

      <TABLE ID="tableNode">
      <TBODY>
            中间代码略
      </TBODY>
      </TABLE>

      经过这样的处理,DOM结构可以分析如下:Tree的根是<TABLE>标记节点,它只包含一个孩子节点<TBODY>;<TBODY>标记节点又包含3个孩子节点,每一个节点对应一个表格行<TR>;每个<TR>标记节点包含2个孩子节点,每一个节点对应表格行的一个单元<TD>;每个<TD>标记节点包含孩子节点,也就是一个文本项节点,它表示了单元格的内容。

      右面是上述HTML文档的DOM Tree图示,可点击放大。

      包含表格文档的节点导航

      现在我们来看看如何在包含表格的文档中进行DOM节点导航。同样,正确地理解上面所示的DOM Tree图示,有助于我们清晰地看懂导航节点表达式。

    起始节点
    到达节点
    寻址表达式
    <TABLE> 表格的第2行 tableNode.firstChild.childNodes[1]
    表格的第2行的第1个单元 tableNode.firstChild.childNodes[1].childNodes[0]
    第1行第2个单元的内容 tableNode.firstChild.firstChild.childNodes[1].firstChild
    表格第3行 <TABLE> tr3Node.parentNode.parentNode或
    tr3Node.previousSibling.parentNode.parentNode或   tr3Node.previousSibling.previousSibling.parentNode.parentNode
    <TABLE> 分别到达6个单元格 tableNode.firstChild.firstChild.firstChild.firstChild
    tableNode.firstChild.firstChild.childNodes[1].firstChild
    tableNode.firstChild.childNodes[1].firstChild.firstChild   tableNode.firstChild.childNodes[1].childNodes[1].firstChild
    tableNode.firstChild.childNodes[2].firstChild.firstChild   tableNode.firstChild.childNodes[2].childNodes[1].firstChild
  • 相关阅读:
    Delphi单元文件之-防止程序重复执行
    cxGrid使用汇总2
    Delphi数组复制
    cxGrid使用汇总1
    Delphi XE5 android 获取网络状态
    xe5 android sample 中的 SimpleList 是怎样绑定的
    XE5 Android 开发数据访问手机端 解决乱码的办法
    设计模式之代理模式
    设计模式之单例模式及原型模式
    设计模式之工厂模式
  • 原文地址:https://www.cnblogs.com/wzyexf/p/368257.html
Copyright © 2011-2022 走看看