首页 > 解决方案 > 是否有 Web API 来检索自然属于表格行的单元格(对于单元格跨越多行的表格)?

问题描述

显然,HTMLTableRow.prototype.cells属性允许我们获取一个表格行元素作为其子元素包含的单元格数组。但是对于包含跨越多行的单元格的表格,检索可以说“自然”应用于该行的单元格成为一项不平凡的操作,特别是对于任意布局的表格(意味着您不能假设某些已知的表格)其所有单元格的行跨度)。

如上所述,我必须自己设计一个算法来检索自然属于一行的单元格,我是对的吗?为了解释我所说的“自然归属”,首先考虑下表,其中包含两个单元格,每个单元格跨越两行:

/* The stylesheet is inconsequential to the question, it's an effort to make for a more presentable table example */
td {
    border: thin solid silver;
    padding: 1em;
}
<table>
    <tbody>
        <tr><td>A</td><td>B</td><td>C</td><td rowspan="2">D</td></tr>
        <tr><td>E</td><td rowspan="2">F</td><td>G</td></tr>
        <tr><td>H</td><td>I</td><td>J</td></tr>
    </tbody>
</table>

例如,如果我们从“信息角度”来看,我想知道哪些单元格值自然属于第二行。对于上表 as table,表达式计算为一个由3 个而不是 4 个表格单元元素组成table.rows[1].cells的数组。它似乎只是反映了行元素的子元素数量,不多不少(也是相同元素的集合)。这并不表示标记为“D”的单元格也适用于第二行,这引发了我的问题——如何计算属于给定行的单元格集合?table.rows[1].children3

现在,我并不是说该cells属性让我检索的内容有任何错误,请注意,我只是需要对哪些单元格属于一行有不同的看法。

例如,对于第二行,这样的“视图”将是表示为“E”、“F”、“G”“D”的单元格的有序集合,因为“D”跨越到第二行的末尾,因此可以说自然也适用于该行。

是否有这样的 API 可以让我计算这样的视图,或者在最坏的情况下是一些第三方库?

标签: htmlapiwebdomwebapi

解决方案


推荐阅读