0

jQueryを使用して現在の(クリックされた行)以外のすべての行を非表示にする方法は?

現在の1行以外の特定の行をクリックすると、すべての行を非表示にしたい。

<table>
@foreach (var item in Model)
    {
        idValue++;

        <tr class="tableRow" id="@idValue">
            <td class="master"  id="@item.Batch_Seq">
                <a href= "#" >@(item.Batch_Name)></a>
            </td>
            <td>
                @(item.Present)
            </td>
            <td>
                @(item.Absent)
            </td>
            <td>
                @(item.HalfDay)
            </td>
            <td>
                @(item.Batch_count)
            </td>
        </tr>

    }
</table>

私はこのようにしてみました

$('.tableRow').hide();
$(this).closest('tr:not(.tableRow)').hide();

誰でも私を助けることができますか?

4

3 に答える 3

4

.not()を使用tableRowして、クリックされたものを除くクラスを持つすべての要素を選択します( this)

$('tr.tableRow').click(function() {
    $('tr.tableRow').not(this).hide();
});
于 2013-06-18T07:41:01.780 に答える
2

not()を使用 して、「これ」以外のすべてを非表示にすることができます。

 $('table tr.tableRow').click(function(){
        $('table tr').not(this).hide(); // hide everything that isn't "this"
    });

または、.siblings()を使用して、クリックした行の兄弟を非表示にすることができます

$('table tr').click(function(){
    $(this).siblings().hide(); // hide the siblings of the clicked row
});

作業例:http://jsfiddle.net/ouadie/U7eUR/

于 2013-06-18T07:44:18.827 に答える