如何使用jquery选择td中的第一个元素?

时间:2012-11-14 08:20:12

标签: jquery jquery-selectors

以下是我的html的样子:

<table border="1">
        <th></th>
        <th>ID</th>
        <th>Name</th>
        <tr>
            <td><input type="button" value="btn1"><input type="button" value="btn2"></td>
            <td>22</td>
            <td>Hello</td>
        </tr>
        <tr>
            <td><input type="button" value="btn1"><input type="button" value="btn2"></td>
            <td>25</td>
            <td>HTML</td>
        </tr>
        <tr>
            <td><input type="button" value="btn1"><input type="button" value="btn2"></td>
            <td>45</td>
            <td>CSS</td>
        </tr>

    </table>

基于html的这个结构,由asp.net发出,我想在每行的第一个btn上添加类。

我尝试使用此功能但发生的情况是,即使是td的第二个按钮也被选中:

 $(function () {

            $t = $('#GridView1 td').children().addClass('first');


        })
先生/女士,你的答案会有很大的帮助。谢谢++

3 个答案:

答案 0 :(得分:8)

如果我理解正确,您需要在每个tr的第一个td中选择第一个输入。尝试:

$("#GridView1 tr > td:nth-child(1) > input:nth-child(1)").addClass("first");

当然,不那么严格但更简洁

$("#GridView1 input:nth-child(1)").addClass("first");
也可以使用

,但这假设您没有在表中的任何其他位置使用输入。

DEMO

答案 1 :(得分:0)

$("tr > td:first").addClass('first');

答案 2 :(得分:0)

$("tr > td").addClass('first');