Javascript 仅显示今天日期的表数据
好的,我有一张有信息的桌子。此表的内部是列名称和日期(DD-MM-YYYY) 我需要将表限制为仅显示表中日期等于当前日期的行。因此,如果有10行,其中只有5行在日期列中有今天的日期,那么只有这5行应该显示 所以我想知道是否有人知道任何代码只显示今天日期的行,并且每天自动更改日期 当前HTMLJavascript 仅显示今天日期的表数据,javascript,html,tablesorter,Javascript,Html,Tablesorter,好的,我有一张有信息的桌子。此表的内部是列名称和日期(DD-MM-YYYY) 我需要将表限制为仅显示表中日期等于当前日期的行。因此,如果有10行,其中只有5行在日期列中有今天的日期,那么只有这5行应该显示 所以我想知道是否有人知道任何代码只显示今天日期的行,并且每天自动更改日期 当前HTML <table class="tablesorter"> <thead> <tr> <th>Name</th>
<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>
我建议在它们出现在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');
};
});
});
今天的dat eis已定义。该函数将循环遍历每个TR
中的第二个TD
,从里面的文本定义一个日期(使用正则表达式匹配来分隔日期组件),将其与今天的日期进行比较,如果它们相同,它将向整行添加隐藏的类
希望有帮助
编辑:原谅我,我没有正确阅读问题!似乎你想隐藏那些没有今天日期的。在这种情况下,将if块中的==
更改为=代码>。这正好相反 您必须使用日期中的where条件对数据库进行查询,例如:从mytable where date=[today]中选择*。如何从数据库中获取数据……表结构是什么?此表是如何填充的?如果数据是从数据库中提取的,如果允许的话,最好在服务器端应用该限制。经验法则是不要信任客户端。如果您将数据传递给客户端并试图隐藏其中的某些部分,智能客户端仍然可以看到这些数据。因此,如果您想限制您的客户访问某些数据,首先不要将数据交给她。我目前不使用数据库,我直接将表数据输入HTML。谢谢,但这只突出显示行数据,我需要完全隐藏数据,并且只显示具有今天日期的数据。我这样做是为了让您可以选择如何隐藏数据。只需在.hidden样式中添加可见性:hidden
,啊,对不起。完美的这会自动改变每天的日期吗?没问题。是的,会的。
$("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');
};
});
});