2

これが私の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>

asp.netによって発行されているhtmlのこの構造に基づいて、各行の最初のbtnにのみクラスを追加します。

これを使ってみましたが、tdの2番目のボタンも選択されています。

 $(function () {

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


        })

サー/マームあなたの答えは大いに役立つでしょう。ありがとう++

4

3 に答える 3

8

td私の理解が正しければ、各 trの最初の最初の入力を選択する必要があります。試す:

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

もちろん、より厳密ではありませんが、より簡潔です。

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

も使用できますが、これは、テーブル内の他の場所で入力を使用していないことを前提としています。

デモ

于 2012-11-14T08:24:12.063 に答える
0
$("tr > td").addClass('first');
于 2012-11-14T09:06:07.593 に答える
0
$("tr > td:first").addClass('first');
于 2012-11-14T08:23:15.497 に答える