好的,我有一张信息表。此表的内部是列名称和日期(DD-MM-YYYY)。
我需要将表限制为仅在表格中显示日期等于当前日期的行。因此,如果有10行,并且只有5行在日期列中具有今天的日期,那么只应显示5行。
所以我想知道是否有人知道任何代码只能在今天的日期显示行,并且每天都会自动更改日期。
当前HTML
<table class="tablesorter">
<thead>
<tr>
<th>Name</th>
<th>Release Date</th>
</tr>
</thead>
<tbody>
<tr>
<td>Peter Parker</td>
<td>11/07/2015</td>
</tr>
<tr>
<td>John Hood</td>
<td>12/07/2015</td>
</tr>
<tr>
<td>Clark Kent</td>
<td>12/07/2015</td>
</tr>
<tr>
<td>Bruce Almighty</td>
<td>13/07/2015</td>
</tr>
<tr>
<td>Bruce Evans</td>
<td>14/07/2015</td>
</tr>
</tbody>
</table>
当前Javascript
$(document).ready(function () {
$("table").tablesorter({
headers: {
0: {
sorter: false
},
1: {
sorter: false
},
2: {
sorter: false
}
}
});
});
答案 0 :(得分:0)
我建议在它们出现在HTML之前执行此操作,但以下是如何使用jQuery执行此操作。
$("document").ready(function () {
var t = new Date();
$("tr td:nth-child(2)").each(function () {
var text = $(this).text().match(/(\d+)/g);
var d = new Date(text[2], text[1] - 1, text[0]);
if (d.toDateString() == t.toDateString()) {
var d = new Date(text[2], text[1] - 1, text[0]);
$(this).closest('tr').addClass('hidden');
};
});
});
今天的数据已定义。该函数将循环显示每个TD
中的第二个TR
,从内部文本定义日期(使用正则表达式匹配来分隔日期组件),将其与今天的日期进行比较,如果它们是同样,它会将hidden
类添加到整行。
希望有所帮助。
编辑:原谅我,我没有正确地阅读这个问题!看来你想要隐藏那些没有今天日期的人。在这种情况下,将if块中的==
更改为!=
。这将做相反的事情。 JSFiddle 2