jQuery,在项目之前插入日期
jQuery, Insert Date Before Item
我有以下标记:
<ul>
<li data-date="May 2014">Content</li>
<li data-date="May 2014">Content</li>
<li data-date="May 2014">Content</li>
<li data-date="August 2014">Content</li>
<li data-date="August 2014">Content</li>
<li data-date="November 2014">Content</li>
<li data-date="November 2014">Content</li>
<li data-date="November 2014">Content</li>
<li data-date="November 2014">Content</li>
</ul>
我想要输出的是:
<ul>
<li><h2>May 2014</h2></li>
<li data-date="May 2014">Content</li>
<li data-date="May 2014">Content</li>
<li data-date="May 2014">Content</li>
<li><h2>August 2014</h2></li>
<li data-date="August 2014">Content</li>
<li data-date="August 2014">Content</li>
<li><h2>November 2014</h2></li>
<li data-date="November 2014">Content</li>
<li data-date="November 2014">Content</li>
<li data-date="November 2014">Content</li>
<li data-date="November 2014">Content</li>
</ul>
因此,基本上,在每一组包含相同data-date
值的li
元素之前,我希望插入<li><h2>{{ data-date group name }}</h2></li>
。
我尝试使用以下内容,但失败了:
$('li').each(function() {
$(this).before('<li><h2>' + $(this).attr('data-date') + '</h2></li>');
});
这并不针对具有相同data-date
值的元素的组,而是针对每个单独的元素。
所以,是的,如果有人能在这方面提供帮助,我们将不胜感激。
var previousDataDate;
$('li').each(function() {
if (previousDataDate != $(this).attr('data-date')) {
$(this).before('<li><h2>' + $(this).attr('data-date') + '</h2></li>');
}
previousDataDate = $(this).attr('data-date');
});
工作演示
如果您对代码进行过滤以获得第一个结果,那么您的代码就会工作:
var $firstDates = $('li').filter(function() {
return $(this).data("date") != $(this).prev().data("date");
});
$firstDates.each(function() {
$(this).before('<li><h2>' + $(this).attr('data-date') + '</h2></li>');
});
相关文章:
- 如何访问日期并将其插入数据库?节点.JS&MongoDB
- 将JSON插入MongoDB中,自动转换字符串中的日期
- 如何在数据库中插入日期
- 如何根据创建日期对对象进行排序,以插入Meteor的高图表
- 单击按钮可多次动态添加选择框、文本框和日期,并将这些值插入数据库
- 我想将插入的日期与laravel 5项目中的当前时间进行比较
- 日期选取器在字段中插入日期和星期
- 将日期插入数组
- 如何将今天的日期插入图像 URL
- 节点 mysql 插入当前日期
- 如何将今天的日期插入到 URL 中
- jQuery 日期选择器不适用于动态插入的 html 元素
- 在日历和日期搜索功能中插入值
- 如何从JSON文件将日期插入mongo
- 我需要将员工进出的日期和时间插入mysql数据库
- 在更改时,即使是动态插入的输入标记上的日期选择器的处理程序也不会;不起作用
- 如何在jquery向导中插入日期选择器
- 在日期范围内创建的每一行插入日期,从startDate开始,递增到结束日期
- jQuery,在项目之前插入日期
- SQL 在 JavaScript 中插入日期/时间和获取的值