如何在IE7中设置已知单元格的值?

时间:2011-06-24 18:09:53

标签: javascript jquery html dom internet-explorer-7

我有一个报告,在表格的顶部有一些标题(列),但在表格的左边有一些标题(行)。那些标题是可变的,永远不会修复。整个整个表都是通过基于Ajax响应的DOM Scripting构建的,该响应返回顶部标题,左标题和特定交叉点的数量。

我已经有了一个算法,知道如何根据列标题和行标题填充该表中的单元格。

在Firefox,Chrome和Safari中,以下工作原理:

document.getElementById("myTable").rows[row].cells[column].firstChild.nodeValue = item.qty.toString();

问题出在IE7(客户端使用的)。 IE 7不允许我使用[index]表示法访问特定单元格。基本上,它在“.cells [column]”处爆炸。你们知道IE7中上述陈述的等价物吗?

一旦我有行和列坐标,你也知道一种jQuery方法来填充一个已知的单元格吗?

谢谢, -Dario

5 个答案:

答案 0 :(得分:1)

jQuery("#myTable tbody tr:eq(" + row + ") td:eq(" + column + ")").html("foo");

答案 1 :(得分:0)

行和列将从0开始。使用上面的代码。

答案 2 :(得分:0)

非jquery方式:

document.getElementById("myTable").getElementsByTagName('tbody')[0].getElementsByTagName('tr')[row].getElementsByTagName('td')[column].innerHTML = item.qty.toString();

答案 3 :(得分:0)

$("#myTable tr:eq(" + row + ") td:eq(" + column + ")").html(item.qty.toString());

但是你应该知道嵌套表。特别是如果你在表中有另一个带有myTable id的表。如果是这样,请告诉我,我可能会为您改写这条线。

另外你应该知道我在这里使用jQuery。要将jQuery添加到页面,您应该将以下内容添加到页面中,最好是在< head>中。元素:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>

如果您想使用谷歌托管的jQuery文件,当然如果您愿意,可以自行下载并自行托管。

答案 4 :(得分:-1)

试试这个:

$("#myTable tr:eq(" + row + ") td:eq(" + columnh + ")").html(item.qty.toString());