火狐浏览器无法识别table.cells吗?
Does Firefox browser not recognize table.cells?
我有以下JavaScript代码。
var myCellCollection = document.getElementById('myTbl').cells;
这在IE中效果很好,它返回表格单元格的集合。但是同一行在 Firefox 中返回"未定义"。我正在使用IE 9和Firefox 12。
你应该使用 document.getElementById("myTbl").getElementsByTagName('td')
;
移植较旧的Internet Explorer应用程序时偶然发现了这个问题。
警告:
container.getElementsByTagName('tagname')
返回 container
内与查询tagname
匹配的所有元素。
因此table.getElementsByTagName('td')
将返回所有td
,包括嵌套表的那些!
但是table.cells
不会这样做(在实现的地方(。
另外,显然,它不会匹配th
.因此,这些单元格不在返回的集合中,可选地导致如何解决其相对于 td 的顺序的"问题"......
为了填充table.cells
的预期功能(以 DOM 顺序返回th
和td
(,我编写了以下简单函数:
function tableCells(t){
if(t.cells) return t.cells; // use internal routine when supported
for(var a=[], r=t.rows, y=0, c, x; t=r[y++];){
for(c=t.cells, x=0; t=c[x++]; a.push(t));
}
return a;
}
或者,使用"if-else"的"单次返回"包装到完全相同的尺寸,但上面的gzip更小。PS:我尝试concat
- ting table.rows[X].cells
,但这不起作用(尽管无论如何我都不会感到安全(
使用示例:var identifier = tableCells( /*reference to table (or thead/tbody/tfoot) here*/ );
它将返回一个数组(不是实时集合(,如 table.cells
的结果。
希望这对某人有所帮助
- Jquery - table.row(tr) is undefined
- javascript, ajax, table, colour
- jQuery parent() in table
- click-cell.bs.table是如何工作的
- onclick for table TD
- AppendChild Form / Table [Javascript/Html/PHP]
- Javascript: Output table
- onRowClick for react-bootstrap-table
- Google Fusion Table Javascript UPDATE Query?
- jquery .删除整个 li 或 table 元素后
- JQuery Click on Table
- AngularJS translate table
- CSS styling of <UL> as table
- Bootstrap Table
- 如何从SQL API代码迁移到Google Fusion Table API v1
- 选择/取消选择复选框,该复选框未按预期使用.coneast('table').find('tbo
- 使用Ember.js将新行动态插入到Table上下文中
- Jquery iterating table
- Table HTML overflow
- 火狐浏览器无法识别table.cells吗?