1

我需要根据单元格名称(即数字)自动填充表格的某些单元格,但是当您按其名称调用单元格时,它会被解释为它的索引号,而不是填充正确的单元格,它将填充与索引对应的序号单元格。

document.getElementById("myTR").cells['9'].innerHTML = "testValue"

//the following doesn't work either 
a ='9'  or  a = 9
b = a.toString()
document.getElementById("myTR").cells[b].innerHTML = "testValue"

任何想法如何解决这个问题?我试图将一个字母聚合到数字(9n)并且它有效,我只是想知道是否有任何已知的程序。

4

4 回答 4

2
document.getElementsByName('9')[0].innerHTML = 'testVal';

按名称获取元素,选择第一个(唯一)元素,Bob 是你的叔叔。

于 2012-10-19T09:44:31.330 回答
1

不知道我是否会被 JS 纯粹主义者讨厌,但我建议为此使用 jQuery,这就是它的目的:

$("#myTR TD[name='9']").html("testValue");

应该tr在带有 id的标签中获得名为 9 的单元格myTR

这是给你的小提琴:http: //jsfiddle.net/aZEXV/1/

于 2012-10-19T09:39:57.553 回答
1

如果名称是唯一的,试试这个:

document.getElementByName('9').innerHTML = 'testValue';

顺便说一句,我建议你使用jquery来操作单元格,下面是使用jquery的代码:

$('td[name=9]','#myTR').html("testValue");
于 2012-10-19T09:41:17.157 回答
1

你可以试试这个

HTML

<table>
    <tr id="myTR">
        <td>Row1</td><td name="9">Row1</td>
    </tr>
    <tr><td>Row2</td><td>Row2</td></tr>
</table>

JS

var x='9';
document.getElementsByName(x)[0].innerHTML = "testValue";

演示

还要尽量避免声明以数字开头的名称。

于 2012-10-19T09:52:14.617 回答