2
function filterRows(statusName) {
    $("#mainTable tbody tr."+statusName).hide();
}

というクラスを持つ行を非表示にしますstatusName。行がない行だけを非表示にするにはどうすればよいですか?

4

5 に答える 5

5

セレクター付き:not()

$("#mainTable tbody tr:not(."+statusName + ')').hide();
于 2012-07-10T09:35:07.033 に答える
3
function filterRows(statusName) {
    $("#mainTable tbody tr."+statusName).siblings().hide();
}
于 2012-07-10T09:34:54.857 に答える
0

.hasClass()プロパティを使用

$("#mainTable tbody tr").map( function(){
if(!$(this).hasClass('statusName'))
{
  $(this).hide();
}
});

Working DEMO

于 2012-07-10T09:35:42.200 に答える
0

このための簡単な POC を作成しました。これにより、必要に応じてカスタマイズする方法についてのアイデアが得られます。次のコードを直接コピーし、ブラウザで実行して結果を確認できます。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="MVCDemoApp.Default" %>

<!DOCTYPE html>
<html>
<script src="Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<head runat="server">
<title></title>
<style>
    .header
    {
        font-family: Verdana;
        font-size: large;
        background-color: Gray;
    }
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
    <table style="widt: 100%" id="mainTable">
        <tr class="header">
            <td>
                Head
            </td>
        </tr>
        <tr>
            <td>
                No Class
            </td>
        </tr>
        <tr class="header">
            <td>
                Header Class
            </td>
        </tr>
    </table>
</div>
</form>
</body>
<script>
/*
//Hides the rows with classes
$('table tr[class="header"]').hide(); 
*/

//hides the rows without classes
$('table tr[class!="header"]').hide(); 
</script>
</html>
于 2012-07-10T09:53:52.483 に答える