9

假设这是我的表:

<table>
    <tr id="a">
       <TD>a</TD>
    </tr>
    <tr id="b">
       <TD>b</TD>
    </tr>
</table>

如何使用表中的行索引获取行 ID?

上面只是一个例子,其中 id 是静态的,但在我的情况下,我的 id 是动态的,所以我不能使用 document.getElementById().

4

3 回答 3

13

假设您的页面上只有一个表格:

document.getElementsByTagName("tr")[index].id;

不过,最好是给你table的 a id,然后像这样得到你的行:

<table id="tableId">
    <tr id="a">
        <td>a</td>
    </tr>
    <tr id="b">
        <td>b</td>
    </tr>
</table>
var table = document.getElementById("tableId");
var row = table.rows[index];
console.log(row.id);

这样,如果您的页面中有多个表格,您可以确定不会受到任何干扰。

于 2012-12-06T14:58:52.033 回答
4

“那么,我如何使用表中的行索引获取行 ID”

您将选择table, 并使用该.rows属性按索引获取行。

var table = document.getElementsByTagName("table")[0]; // first table

var secondRow = table.rows[1]; // second row

然后,您只需以典型方式获取 ID。

console.log(secondRow.id); // "b"

演示:http: //jsfiddle.net/MERPk/

于 2012-12-06T14:57:55.837 回答
2

答案已编辑 使用 CSS3,您可以使用第n 个子选择器。这里的示例显示 rowIndex = 2

 alert(document.querySelector("table tr:nth-child(2)").id);

在 jQuery 中,您可以使用

 alert($("table tr:nth-child(2)").attr('id'));

在 CSS 中可以使用相同的语法nth-child()

<style>
    tr:nth-child(2) {
        color: red;
    }
</style>
于 2012-12-06T15:04:24.563 回答