Jquery表td id

时间:2011-08-07 09:27:09

标签: jquery

我有一张表,其中每个tr都是一条记录,每个td都是一列。当我使用click事件并点击tr时,我需要tr个ID和第6列td ID。

应将trtd id分配给变量。

如何使用jQuery选择器执行此操作?

这是对的吗?

$(‘tr td).(‘click’, function (
{
});

任何帮助将不胜感激。我也尝试了这个:

$('tr td:nth-child(5)')

......但它没有用。

2 个答案:

答案 0 :(得分:0)

var row = $(this).closest('tr');
var cell = row.find('td:nth-child(6)');

请注意:nth-​​child()是基于1的,而不是基于0的,所以请使用(6)。

我发布的iPad不适用于代码片段,否则我会给你一个更完整的解决方案!

答案 1 :(得分:0)

HTML:

<table border="1">
    <tr id="row1">
        <td id="a1">A1</td>
        <td id="b1">B1</td>
        <td id="c1">C1</td>
        <td id="d1">D1</td>
        <td id="e1">E1</td>
        <td id="f1" class="sixth">F1</td>
    </tr>
    <tr id="row2">
        <td id="a2">A2</td>
        <td id="b2">B2</td>
        <td id="c2">C2</td>
        <td id="d2">D2</td>
        <td id="e2">E2</td>
        <td id="f2" class="sixth">F2</td>
    </tr>
    <tr id="row3">
        <td id="a3">A3</td>
        <td id="b3">B3</td>
        <td id="c3">C3</td>
        <td id="d3">D3</td>
        <td id="e3">E3</td>
        <td id="f3"class="sixth">F3</td>
    </tr>
</table>

jQuery的:

$(document).ready(function(){

    $('tr').click(function(){
        rowID = $(this)[0].id;
        celID = $(this).children('td:eq(5)')[0].id;
        alert('Row '+rowID+'\nCell '+celID);
    });

});

jsFiddle。 (注意:class="sixth"但仅用于在jsFiddle中进行调试和显示。

注意: OP解决了问题后的修订解决方案:jsFiddle

$(document).ready(function(){

  $('td:nth-child(6)').click(function(){
    alert( $(this)[0].id );
  });

}):