1

html:

<tr id="head-58">
    <td style="width:150px;">
        <input type="button" name="delete" class="delete_person" value="58" />name<button type="button" style="margin: 1px 35px 5px;" name="delete" value="58" class="delete_icon button_style">Delete</button>
    </td>
    <td>
        <input type="checkbox" name="first_aid" id="id_first_aid" />FirstAid
    </td>
    <td>
        <input type="checkbox" name="sick_bay" id="id_sick_bay" /Sick bay
    </td>
    <td>
        <input type="checkbox" name="ambulance" id="id_ambulance" />Ambulance
    </td>

</tr>

ここでdelete_personクラスをクリックすると、クラスdelete_iconで隠しボタンを表示したい. クラスdelete_iconは複数持つことができるので、クリックした要素から隠しボタンを表示する必要が$this.closest('tr').find(".delete_icon").toggle(); ある.

4

4 に答える 4

2

使用する:

$this.parents('tr').find(".delete_icon").toggle();
于 2013-09-09T18:06:03.773 に答える
1

削除ボタンは tr の子ではありません。それを tr に移動するか、次を使用します。

$(this).closest('tr').next('.delete_icon')
于 2013-09-09T18:07:43.663 に答える
1

$this自分で作成しない限り、変数はありません。thisイベントのターゲットを参照するため、jQuery 関数で使用して、それを含む jQuery オブジェクトを作成します。

$(this).closest('tr').find(".delete_icon").toggle();

ただし、それを機能させるには、テーブル行内にボタンを移動する必要もあります。これで、テーブルの内側にあるように見えますが、テーブル セルの外側にあり、これは無効な HTML です。(ブラウザによっては、表のセル内に配置するものもあれば、表の外に完全に移動するものもあります。結果は予測できないため、ボタンをセル内に移動しない限り、ボタンにアクセスするコードを書くことはできません。)

于 2013-09-09T18:06:55.830 に答える
0

ボタンは後ろにあるので<tr>...</tr>

使用する:

$(this).parent().next().toggle()
于 2013-09-09T18:09:06.790 に答える