Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 在sort()函数之后追加到tbody_Javascript_Jquery_Sorting_Append - Fatal编程技术网

Javascript 在sort()函数之后追加到tbody

Javascript 在sort()函数之后追加到tbody,javascript,jquery,sorting,append,Javascript,Jquery,Sorting,Append,您好,在我完成了一种表格行排序之后,我想将tr/td数据追加回表格中的tbody—表格单元格日期来自一个动态填充的列表 下面是我的问题:我在哪里成功地排序了日期 谢谢 var dates = jQuery('tr.Entries').find('td.event-date > a').map(function() { return jQuery(this).text(); }).get(); dates.sort(function(a,b){

您好,在我完成了一种表格行排序之后,我想将tr/td数据追加回表格中的tbody—表格单元格日期来自一个动态填充的列表

下面是我的问题:我在哪里成功地排序了日期

谢谢

var dates = jQuery('tr.Entries').find('td.event-date > a').map(function() {
             return jQuery(this).text();
          }).get();
dates.sort(function(a,b){
var dateA = a;
dateA = dateA.replace(/(..)\/(..)\/(....)/, '$2-$1-$3');
var dateB = b;
dateB = dateB.replace(/(..)\/(..)\/(....)/, '$2-$1-$3');

return new Date(dateA).getTime() - new Date(dateB).getTime();
});
jQuery.each(dates, function (index, value) {
     //how to append back to tbody?
     console.log(value);
});
以下是一些条目(有更多动态填充的行)


日期
事件
位置
票
我会这样做:

  • id
    属性分配给
  • jQuery.each()
    循环之前,我将使用它删除
    中的所有
    条目
  • 在循环内部,我将使用它再次向由
    id
    属性标识的
    添加排序元素
    • 我会这样做:

      • id
        属性分配给
      • jQuery.each()
        循环之前,我将使用它删除
        中的所有
        条目
      • 在循环内部,我将使用它再次向由
        id
        属性标识的
        添加排序元素

      直接对行排序,而不是对日期排序。
      然后,您可以将已排序的行传递给
      .append()
      ,jQuery将“一次”添加所有行

      var dateRx=/(..)\/(..)\/(..)\/(..)/,
      replaceFormat=“$2-$1-$3”,
      行=jQuery('tr.Entries')
      .get()
      .sort(函数(行A、行B){
      var dateA=$(rowA).find(“td:first a”).text().replace(dateRx,replaceFormat),
      dateB=$(rowB).find(“td:first a”).text().replace(dateRx,replaceFormat);
      返回新日期(dateA)-新日期(dateB);
      });
      jQuery(“table.event tbody”).append(行)
      
      
      日期事件
      
      直接对行排序,而不是对日期排序。
      然后,您可以将已排序的行传递给
      .append()
      ,jQuery将“一次”添加所有行

      var dateRx=/(..)\/(..)\/(..)\/(..)/,
      replaceFormat=“$2-$1-$3”,
      行=jQuery('tr.Entries')
      .get()
      .sort(函数(行A、行B){
      var dateA=$(rowA).find(“td:first a”).text().replace(dateRx,replaceFormat),
      dateB=$(rowB).find(“td:first a”).text().replace(dateRx,replaceFormat);
      返回新日期(dateA)-新日期(dateB);
      });
      jQuery(“table.event tbody”).append(行)
      
      
      日期事件
      
      我不是一个试验过的js用户,但是如果他们没有那么多条目,我会把它们全部删除并追加回来。我不是一个试验过的js用户,但是如果他们没有那么多条目,我会把它们全部删除并追加回来。谢谢你的输入,我已经接受了Andreas的答案。谢谢你的输入,我已经接受了Andreas的答案。
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
      </script>
      <table class="event clearfix">
        <thead>
          <tr>
            <td>Date</td>
            <td>Event</td>
            <td>Location</td>
            <td>Ticket</td>
          </tr>
          <tr class="space"></tr>
        </thead>
        <tbody>
          <tr class="Entries">
            <td class="event-date">
              <a href="#">25/08/2017</a>
            </td>
            <td class="event-title">
              <a href="#">Live N Local Winter Music Festival</a> 
            </td>
            <td class="event-location">
              <a href="#">Pause Bar, Balaclava</a>
            </td>
            <td class="event-ticket-link">
              <a href="#" class="button button-normal">BUY TICKET</a> 
            </td>
          </tr>
          <tr class="Entries">
            <td class="event-date">
              <a href="#">15/04/2017</a>
            </td>
            <td class="event-title">
              <a href="#">Reggae, Seggae &amp; Sega Night</a>
            </td>
            <td class="event-location">
              <a href="#">Bar Open, Fitzroy Melbourne</a>
            </td>
            <td class="event-ticket-link">
              <a href="#" class="button button-normal">BUY TICKET</a>
            </td>
          </tr>
          <tr class="Entries">
            <td class="event-date">
              <a href="#">06/05/2016</a>
            </td>
            <td class="event-title">
              <a href="#">The Sunraysia Multicultural Festival</a>
            </td>
            <td class="event-location">
              <a href="#">Nowingi Place, Mildura Victoria</a>
            </td>
            <td class="event-ticket-link">
              <a href="#" class="button button-normal">BUY TICKET</a>
            </td>
          </tr>
        </tbody>
      </table>