3

我正在使用Moovweb SDK,我想将表格及其所有元素转换为 div 以促进移动 Web 开发/样式设置。做这个的最好方式是什么?

<body>
  <table>
    <tbody>
      <tr>
        <td>
          ...
        </td>
      <tr>
     </tbody>
  </table>
</body>
4

1 回答 1

6

我在许多项目中看到有一个用于此目的的函数,称为table_dump. 我不能因为发明它而受到赞扬,但它是完整的:

@func XMLNode.table_dump(Text %xpath){
  $(%xpath) {
    name("div")
    add_class("mw_was_table")

    $(".//table | .//tr | .//td | .//th | .//thead | .//tfoot | .//tbody | .//col | .//colgroup | .//caption") {
      %i = index()
      %n = name()
      name("div")
      attributes(data-mw-id: concat("mw_dump_", %n, %i), width: "")
      add_class(concat("mw_was_", %n))
    }

    yield()
  }
}

它确实做了三件事:

  1. 将所有表格和表格元素更改为 div
  2. 给每个前一个表元素一个类mw_was_及其前一个元素
  3. 根据索引,给每个元素一个唯一的 id data-mw-id

通过所有这三个,您可以摆脱表格,同时保留其元素的多样性。这样,它在 XPath 和 CSS 中仍然很容易选择,即使在您对其进行了转换之后也是如此。

于 2013-04-23T19:05:03.350 回答