Javascript 在sort()函数之后追加到tbody
您好,在我完成了一种表格行排序之后,我想将tr/td数据追加回表格中的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){
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 & 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>