Javascript 如何使用jQuery删除具有多个相同数据值的div?

Javascript 如何使用jQuery删除具有多个相同数据值的div?,javascript,jquery,html,Javascript,Jquery,Html,我怎样才能做到这一点 <div class="chat_timestamp_group" data-date="08-March-2016"></div> <div class="chat_timestamp_group" data-date="08-March-2016"></div> <div class="chat_timestamp_group" data-date="14-March-2016"></div> &l

我怎样才能做到这一点

<div class="chat_timestamp_group" data-date="08-March-2016"></div>
<div class="chat_timestamp_group" data-date="08-March-2016"></div>
<div class="chat_timestamp_group" data-date="14-March-2016"></div>
<div class="chat_timestamp_group" data-date="14-March-2016"></div>

通缉结果:

<div class="chat_timestamp_group" data-date="08-March-2016"></div>
<div class="chat_timestamp_group" data-date="14-March-2016"></div>

使用jQuery,您可以这样做:

<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script>
$( function () {
    var dates = [];
    $( "div.chat_timestamp_group" ).each( function (k,v) {
        var date = $( this ).attr( 'data-date' );
        if( dates.indexOf(date) !== -1 ){
            $( this ).remove();
        }
        else{
            dates.push( date );
        }
    }); 
});
</script>

$(函数(){
var日期=[];
$(“div.chat\u timestamp\u group”)。每个(函数(k,v){
var date=$(this.attr('data date');
if(dates.indexOf(date)!=-1){
$(this.remove();
}
否则{
日期。推送(日期);
}
}); 
});

将字典放在一边,检查字典中是否有日期。如果是这样,
remove()
vard={};
$('div')。每个(函数(){
var elm=$(此),
日期=elm.attr(“数据日期”);
如果(d中的日期){
elm.remove();
}
否则{
d[日期]=日期;
}
});
div:before{
内容:attr(数据日期);
}

下面是一个用于删除不需要的div的小片段

var divDates=[];
$('div.chat\u timestamp\u group')。每个(函数(i,div){
var dataDate=$(div.attr('data-date');
if(jQuery.inArray(dataDate,divDates)>-1){
$(div.remove();
}否则{
divDates.push(数据日期);
}
});
div.chat\u timestamp\u组,
div.chat\u时间戳\u组0{
边框:2倍实心#000000;
}

之前

2016年3月8日 2016年3月8日 2016年3月14日 2016年3月14日
之后
2016年3月8日 2016年3月8日 2016年3月14日 2016年3月14日
您可以使用
.filter()

var res=[];
var elems=$(“.chat\u timestamp\u group”).filter(函数(i,el){
if(res.indexOf($(el.data(“日期”))=-1){
res.push($(el).数据(“日期”);
返回真值
}否则{
返回错误
}
});
console.log(元素)

试试这个

var found = {};
$('.chat_timestamp_group').each(function() {
    var value = $(this).data('date');
    if (found[value])
        $(this).remove();
    else
        found[value] = true;
});

您可以利用
$.uniqueSort()
$.map()
.outerHTML
.replaceWith()

var elems=$(“.chat\u timestamp\u group”);
变量过滤器=$.uniqueSort($.map(元素,函数(元素)){
返回el.outerHTML});
替换元素(功能(i){
返回筛选器[i]| |“”
});

2016年3月8日
2016年3月8日
2016年3月14日

2016年3月14日
这是否回答了您的问题?