可以通过DOM直接使用标题轴属性检索td的轴标题吗?

时间:2012-02-18 17:47:38

标签: html dom html-table

我最近发现的一件事是我可以使用headers上的td属性和任何相关的axis属性的组合将表格单元设置为具有多个轴th。例如:

<table>
    <caption>Country Toy Codes</caption>
    <thead>
        <tr>
            <th scope="col row"></th>
            <th scope="col" id="us" axis="country">US</th>
            <th scope="col" id="ca" axis="country">CA</th>
            <th scope="col" id="uk" axis="country">UK</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th scope="row" id="robots" axis="toys">Robots</th>
            <td headers="us robots">ABC</td>
            <td headers="ca robots">DEF</td>
            <td headers="uk robots">GHI</td>
        </tr>
        <tr>
            <th scope="row" id="dolls" axis="toys">Dolls</th>
            <td headers="us dolls">JKL</td>
            <td headers="ca dolls">MNO</td>
            <td headers="uk dolls">PQR</td>
        </tr>
        <tr>
            <th scope="row" id="slinkys" axis="toys">Slinkys</th>
            <td headers="us slinkys">STU</td>
            <td headers="ca slinkys">VWX</td>
            <td headers="uk slinkys">YZ1</td>
        </tr>
        <tr>
            <th scope="row" id="legos" axis="toys">Legos</th>
            <td headers="us legos">AB1</td>
            <td headers="ca legos">CD1</td>
            <td headers="uk legos">EF1</td>
        </tr>
    </tbody>
</table>

这对非视觉浏览器有明显的好处,但我认为它对javascript和css也很有用。唯一的问题是,在选择或选择之后,我没有看到直接访问单元格标题id的轴类型的方法。

理想情况下,我想执行以下任一操作(提前粗略的pseduo代码):

  Selector:
      td['axis=toys']  // Would select all td's with a header id that resolves to a header having axis value "toys"

  Getter:
      $('td').axisValue("toys") // would return the value, if applicable, of header id of header value with axis value of toys.

对于getter,我可以每次循环遍历每个头,并从DOM中的id中找到元素,然后是轴值,但是如果有更直接的方法可以做到这一点,我相信它也更多由浏览器优化。

对于选择器,我能想到的最接近的(在js中)是获取给定的轴值,使用该轴值找到所有id,然后用逗号分隔每个选项以全部抓取它们,例如

[headers~=us], [headers~=ca], [headers~=uk]

是否有人知道标头ID的轴名是通过方法还是直接在td元素上可用?

0 个答案:

没有答案