Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果td中的日期早于今天的日期,如何隐藏表格行?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如果td中的日期早于今天的日期,如何隐藏表格行?

Javascript 如果td中的日期早于今天的日期,如何隐藏表格行?,javascript,jquery,html,Javascript,Jquery,Html,作为编码领域的弗兰肯斯坦博士,我利用数据表和英国日期排序,成功地拼凑出了一张表,如[此处][1]所示。这个难题的最后一个部分是找到一种方法,如果对应行中的日期早于当前日期,则可以隐藏整行,即如果td元素中的日期早于今天的日期,则隐藏包含该td元素的行 这个问题有js解决方案吗?非常感谢您的帮助 编辑:按要求编码: <html> <head> <title>Test</title> <link rel="stylesheet" href

作为编码领域的弗兰肯斯坦博士,我利用数据表和英国日期排序,成功地拼凑出了一张表,如[此处][1]所示。这个难题的最后一个部分是找到一种方法,如果对应行中的日期早于当前日期,则可以隐藏整行,即如果td元素中的日期早于今天的日期,则隐藏包含该td元素的行

这个问题有js解决方案吗?非常感谢您的帮助

编辑:按要求编码:

<html>
<head>
<title>Test</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.2/css/jquery.dataTables.css">
    <script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js"></script>
    <script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script>
    <script>

    // UK Date Sorting
jQuery.fn.dataTableExt.oSort['uk_date-asc'] = function(a, b) {
var ukDatea = a.split('/');
var ukDateb = b.split('/');

var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1;

return ((x < y) ? -1 : ((x > y) ? 1 : 0));
};

jQuery.fn.dataTableExt.oSort['uk_date-desc'] = function(a, b) {
var ukDatea = a.split('/');
var ukDateb = b.split('/');

var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1;

return ((x < y) ? 1 : ((x > y) ? -1 : 0));
};


$(document).ready(function() {

$("#table_id").dataTable({
    "aoColumnDefs" : [
{"aTargets" : [2] , "sType" : "uk_date"}
]

});
});
</script>
</head>
<body>
<div class="page-header">
<h2>Heading</h2>
</div>
<div class="table-responsive">
<table id="table_id" class="table table-striped table-hover" cellspacing="0" width="100%">
<thead>
<tr>
<th>Lecture name</th>
<th>Lecturer</th>
<th class="uk-date-column">date</th>
<th>time</th>
<th>link</th>
</tr>
</thead>
<tbody>
<TR>
<TD>Lecture 1</TD>
<TD>Lecturer 1</TD>
<TD>01/10/2014</TD>
<TD ALIGN="RIGHT">11:00</TD>
<TD>Link 1</TD>
</TR>
<TR>
<TD>Lecture 2</TD>
<TD>Lecturer 2</TD>
<TD>02/10/2014</TD>
<TD ALIGN="RIGHT">11:00</TD>
<TD>Link 2</TD>
</TR>
</tbody>
</table>
</div>
</body>
</html>

给特定的td一些类,比如clsdate,然后指向该类,找到html并将其转换为日期。找出差异并采取必要的措施

$('table').find(".clsdate").each(function(index,element){
  var tdDate=new Date($(element).html());
  var currDate=getDate();
  var diff=currDate-tdDate;
   if(diff<0)
   {
     $(element).parent('tr').css('display','none');
   }
});

并向包含日期的列中添加日期类。

请包含一些有问题的代码,而不是将代码指向链接。请尝试此操作。我正在尝试这个解决方案,但是我没有任何运气。我是否需要为日期类输入具体内容,或者“类=日期”是否足够?2014年2月10日和2014年1月10日。我还将日期改为“月初”,在我的机器文化中,它是在比较错误的日期。只需放置一个console.logdate即可查看这两个日期,以防结果不符合要求
$(document).ready(function() {

    $("#table_id").dataTable({"aoColumnDefs" : [
      {"aTargets" : [2] , "sType" : "uk_date"}]});

  $('TD.date').each(function( index ) {  
    var q = new Date();
    var m = q.getMonth();
    var d = q.getDay();
    var y = q.getYear();

    var date = new Date(y,m,d);
    if(new Date($(this).text()) < date)    {

        $(this).parent().attr("style", "display: none")
    }
      });

});