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

或者简单地说:

$('#mainTable tbody tr').each(function() {     
$(this).not('.selected').hide()
  });
于 2012-07-10T09:43:49.303 回答
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 回答