打印

BT9015: 只有 IE 和 Opera 支持 TABLE 元素的 cells 属性

作者:蔡美纯

标准参考

根据 DOM-1 HTML 及 DOM-2 HTML 规范中的描述,cells 属性是应用在 HTMLTableRowElement(TR) 上的,返回该列的单元格集合。

关于 cells 属性的详细信息,请参考 DOM-1 HTML Interface HTMLTableRowElementDOM-2 HTML Interface HTMLTableRowElement 中的内容。

问题描述

对 TABLE 元素使用 cells 属性只有 IE6 IE7 IE8 Opera 支持。cells 集合返回 TABLE 元素内所有的 TD TH 元素的集合。

造成的影响

在某些浏览器内不能获取到元素。

受影响的浏览器

IE6 IE7 IE8 Opera

问题分析

对于以下代码:

<table id="A"><tr><td></td></tr></table>
<script>
    document.write("table.cells : " + document.getElementById("A").cells + "<br />");
</script>

在各浏览器输出如下:

IE6 IE7 IE8 Opera Firefox Safari Chrome
[object HTMLCollection] undefined

即:对 TABLE 元素使用 cells 属性只有 IE Opera 浏览器支持。

解决方案

避免使用 TABLE 的 cells 属性获取元素,而对 table row(TR) 使用 cells 属性,或用 document.getElementsByTagName 等方式获取元素。

参见

知识库

相关问题

测试环境

操作系统版本: Windows 7 Ultimate build 7600
浏览器版本: IE6
IE7
IE8
Firefox 3.6
Chrome 4.0.302.3 dev
Safari 4.0.4
Opera 10.51
测试页面:  
本文更新时间: 2010-05-19

关键字

TABLE cells