function filterRows(statusName) {
$("#mainTable tbody tr."+statusName).hide();
}
というクラスを持つ行を非表示にしますstatusName
。行がない行だけを非表示にするにはどうすればよいですか?
function filterRows(statusName) {
$("#mainTable tbody tr."+statusName).hide();
}
というクラスを持つ行を非表示にしますstatusName
。行がない行だけを非表示にするにはどうすればよいですか?
function filterRows(statusName) {
$("#mainTable tbody tr."+statusName).siblings().hide();
}
.hasClass()
プロパティを使用
$("#mainTable tbody tr").map( function(){
if(!$(this).hasClass('statusName'))
{
$(this).hide();
}
});
このための簡単な 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>