javascript - 按数据属性对 div 进行排序 - 类型错误

标签 javascript jquery

尝试按数据属性值 (data-date) 对 div 元素进行排序;

获取类型错误 - a.attr 不是函数

有什么帮助吗?

$('button').on('click', function() {
  $('.title').sort(function(a, b) {
    if (a.attr('data-date') < b.attr('data-date')) {return -1;}
	else {return 1;}
  }).appendTo('#titles');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id='titles'>
  <div class='title' data-date="2017-11-05 07:29:35">lorem</div>
  <div class='title' data-date="2017-09-22 05:27:31">ipsum</div>
  <div class='title' data-date="2014-07-29 08:29:03">lorema</div>
  <div class='title' data-date="2016-12-04 05:04:14">ipsuma</div>
</div>

<button>CLICK</button>

最佳答案

使用Jquery调用.attr。 这是固定代码。

$('button').on('click', function(){
		$('.title').sort(function(a, b) {
			if ($(a).attr('data-date') < $(b).attr('data-date')) {return -1;}
			else {return 1;}
		}).appendTo('#titles');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id='titles'>
<div class='title' data-date="2017-11-05 07:29:35">lorem</div>
<div class='title' data-date="2017-09-22 05:27:31">ipsum</div>
<div class='title' data-date="2014-07-29 08:29:03">lorema</div>
<div class='title' data-date="2016-12-04 05:04:14">ipsuma</div>
</div>

<button>CLICK</button>

关于javascript - 按数据属性对 div 进行排序 - 类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54187887/

相关文章:

javascript - 更改模态加载的 url

javascript - 如何访问我的新 Symfony API

javascript - 无法使用 jquery 按值获取选择选项

jquery - 如何从外部列表框中控制 select2 选择框?

javascript - 如何使用javascript解析url参数

php - javascript或php数组交差法

Javascript 仅在页面刷新后使用 ip,在使用 dns 进行刷新访问之前

javascript - 如何使用 Fabricjs 自由绘制椭圆?

javascript - 如何读取文本框中的值并添加一些扩展名

php - 从外部页面获取值?