6

複数の行を持つテーブルがあります。各行には、[詳細を表示] ボタンと [詳細を非表示] ボタンがあります。[詳細を表示] をクリックすると、[詳細を非表示] ボタンが特定の行に対してのみ表示されるようになります。私は .closest() 関数が機能すると思っていましたが、まだ機能していません。

ここにHTMLがあります

<table>
    <tr id="1">
      <td><button class='view'>View Details</button><button class='hide' style='display:none;'>Hide Details</button></td>
    </tr>

    <tr id="2">
      <td><button class='view'>View Details</button><button class='hide' style='display:none;'>Hide Details</button></td>
    </tr>
</table>

ここにjQueryがあります

$(".view").click(function() {   
    $("#patient").show("");
    $(this).hide();
    $(this).closest(".hide").show();
});
4

3 に答える 3

11

.closest現在の要素とその親のみを調べます。次のようにする必要があります。

$(this).parent().find('.hide');

また

$(this).siblings('.hide');
于 2013-08-02T19:53:01.500 に答える
2

closest() の代わりに next() を試してください。

http://api.jquery.com/next/ http://api.jquery.com/siblings/

最も近いものを使用するときは、通常、検索するクラスなどの追加情報を指定します。

于 2013-08-02T19:54:08.953 に答える
2

dom の準備ができた後にバインドしますか? これを試して:

$(function(){
    $(".view").click(function() {   
        $("#patient").show("");
        $(this).hide().next().show();
    });
});
于 2013-08-02T19:55:10.043 に答える