14

我有一个简单的表,我在其中设置了标题的 ID 和行的 ID。给定两者的 ID,我需要在这两者的交点处找到相应的单元格。

例子:

<table id="tablica">
    <thead>
        <th id="bla">Bla</th>
        <th id="bli">Bli</th>
        <th id="blu">Blu</th>
    </thead>
    <tbody>
        <tr id="jedan">
            <td>1</td>            
            <td>2</td>
            <td>3</td>
        </tr>
        <tr id="dva">
            <td>4</td>            
            <td>5</td>
            <td>6</td>
        </tr>
        <tr id="tri">
            <td>7</td>            
            <td>8</td>
            <td>9</td>
        </tr>
    </tbody>
</table>​​​

所以如果我有 id="bli" 和 id="dva",这意味着我想在这个例子中对值为 5 的单元格做一些事情。

编辑:有很多正确的答案,我都投了赞成票,但不幸的是我只能选择一个正确的。

4

4 回答 4

13

这是我的解决方案:

var column = $('#bli').index();
var cell = $('#dva').find('td').eq(column);

以及关于 jsfiddle 的工作示例:http: //jsfiddle.net/t8nWf/2/

全部添加到一个函数中:

function getCell(column, row) {
    var column = $('#' + column).index();
    var row = $('#' + row)
    return row.find('td').eq(column);
}

工作示例:http: //jsfiddle.net/t8nWf/5/

于 2012-04-23T09:47:58.177 回答
3

如果您获得了行的 ID,则可以选择其中包含数据 5 的列。

$("#dva").find("td:contains(5)").css({"background-color":"red"});

将此小提琴作为工作示例。

编辑 在不知道只有 id 的行的 id 的情况下,您还可以找到单元格:

$("#tablica tr").find("td:contains(5)").css({"background-color":"red", "padding":"5px"});

工作示例

于 2012-04-23T09:34:43.657 回答
2
$('#dva > td').eq($('#bli').index()); // returns the td element

应该管用。工作示例:http: //jsbin.com/acevon/edit#javascript,html,live

于 2012-04-23T09:39:10.500 回答
1

这将为您提供所需的 TD 元素作为 jQuery 对象:

var thIndex = $( '#tablica #bli' ).index (); // get index of TH in thead
var $td = $( $( '#dva td' ).get ( thIndex ) ); // get the TD in the target TR on the same index as is in the thead

JSFiddle 示例

于 2012-04-23T09:39:46.867 回答