js根据时间给列表排序

最终效果:

 具体代码:

<!doctype html>
<html>

	<head>
		<meta charset="utf-8">
		<title>jQuery按时间排序(原创)-jq22.com</title>
		<script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
		<style>
			*{margin:0;padding:0;list-style-type:none;}	
			li{margin-top:20px;}
		</style>
	</head>

	<body>
		<h3>以下内容经过排序后的结果,可对比左侧html内数据</h3>
		<div class="ul_sort">
			<ul>
				<li>
					<a href="###">
						<p>【新闻】新闻1</p>
					</a>
					<span>2018-07-11 16:40</span>
				</li>
				<li>
					<a href="###">
						<p>【新闻】新闻2</p>
					</a>
					<span>2019-07-10 16:30</span>
				</li>

				<li>
					<a href="###">
						<p>【新闻】新闻4</p>
					</a>
					<span>2018-07-11 16:50</span>
				</li>
				<li>
					<a href="###">
						<p>【新闻】新闻5</p>
					</a>
					<span>2018-07-13 16:55</span>
				</li>
				<li>
					<a href="###">
						<p>【新闻】新闻3</p>
					</a>
					<span>2018/07/12 17:50</span>
				</li>
				<li>
					<a href="###">
						<p>【新闻】新闻6</p>
					</a>
					<span>2018/07/13 10:50</span>
				</li>

			</ul>

		</div>

		<script>
			$(function() {
				var ul = $('.ul_sort ul');
				var lis = [];

				lis = $('.ul_sort ul li');
				var ux = [];
				//循环提取时间,并调用排序方法进行排序
				for(var i = 0; i < lis.length; i++) {
					var tmp = {};
					tmp.dom = lis.eq(i);
					tmp.date = new Date(lis.eq(i).find('span').eq(0).html().replace(/-/g, '/'));
					ux.push(tmp);
				}
				//数组排序,支持年的比较
				ux.sort(function(a, b) {
					var myData = new Date();
					var year = myData.getYear();
					if(a.date.getYear < year && b.date.getYear == year) {
						return true;
					}
					return b.date - a.date;
				});
				//先移除原先顺序错乱的li内容
				$('.ul_sort ul li').remove();
				//重新填充排序好的内容
				for(var i = 0; i < ux.length; i++) {
					ul.append(ux[i].dom);
				}
			});
		</script>

	</body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值