我有一个动态生成的页面,其中包含不同数量的项目(div.item)。每个项目都有一个带有“日期”类的内部div。这些项目根据日期值从DB按升序排序。由于从DB获取的页面内容可能有10个具有相同日期的项目,因此接下来的3个将共享一个日期,然后下一个X可能共享另一个日期,依此类推。
根据div.date的内容,我想在div.group中包含所有具有相似日期的项目。我本来希望直接在PHP代码上执行此操作,但我继承了一个没有文档的大型杂乱项目,这个选项只是暂时的。目前的简化结构如下:
<div class="item">
<div class="date">04-06-2012</div>
<div class="other-content">Other Content</div>
</div>
<div class="item"> // To be grouped with above
<div class="date">04-06-2012</div>
<div class="other-content">Other Content</div>
</div>
...
<div class="item"> // In it's own group
<div class="date">08-06-2012</div>
<div class="other-content">Other Content</div>
</div>
...
由于
答案 0 :(得分:3)
这会按日期对所有项目进行分组,并将div.group
元素附加到body
。
var groups={}
$('div.item').each(function() {
var dt = $(this).find ( '.date' ).text()
groups[dt] = groups[dt] || []
groups[dt].push (this)
});
$.each (groups, function(k, v) {
var group = $('<div/>').addClass('group')
$.each (v, function(k, item) {
$(item).detach().appendTo (group)
});
group.appendTo ( 'body' ) //or wherever you need to append it
});