Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按日期统计span id的数量_Javascript_Jquery_Html - Fatal编程技术网

Javascript 按日期统计span id的数量

Javascript 按日期统计span id的数量,javascript,jquery,html,Javascript,Jquery,Html,在PHP页面中,我有一个结果列表。 我想按日期获取结果的数量,以便显示饼图 这就是我所拥有的: <span id="tweetdate_1_12-11-2012">...</span> <span id="tweetdate_2_12-11-2012">...</span> <span id="tweetdate_3_12-11-2012">...</span> <span id="tweetdate_4_12-1

在PHP页面中,我有一个结果列表。 我想按日期获取结果的数量,以便显示饼图

这就是我所拥有的:

<span id="tweetdate_1_12-11-2012">...</span> 
<span id="tweetdate_2_12-11-2012">...</span>
<span id="tweetdate_3_12-11-2012">...</span> 
<span id="tweetdate_4_12-11-2012">...</span>
<span id="tweetdate_1_11-11-2012">...</span> 
<span id="tweetdate_2_11-11-2012">...</span>
<span id="tweetdate_1_10-11-2012">...</span> 
<span id="tweetdate_2_10-11-2012">...</span>
。。。
...
... 
...
... 
...
... 
...
我想使用javascript: 1.日期如下:2012年11月10日,2012年11月11日,2012年11月12日 2.按日期列出的结果数:2、2、4

我已经恢复了日期,但顺序不好(先旧了),也没有恢复这些日期的数量

可能吗


谢谢

你可以这样做

jquery代码


$(文档).ready(函数(){
计数=0;
$('span')。每个(函数(){
if($(this).attr('id').match(/12-11-2012/){
计数++;
}
});
$('#count').html(count);
}); 
html代码

。。。
...
... 
...
... 
...
... 
...
更简洁一点:

var count = $('span[id*=12-11-2012]').length;
$('#count').html(count);

您可以使用以下jQuery代码,并将获得一个日期为键的对象

$(function(){
 var ret = {};
  $('span[id^="tweetdate"]').each(function(){
      var tmp_array = this.id.split('_');
      var date = tmp_array[tmp_array.length-1];
      if(ret[date]){
          ret[date] ++;
      }else{
          ret[date] = 1;
     }
  });
  console.log(ret);
});

结果似乎很正常。或者,如果您不确定,您可以在使用之前对其进行排序。

$([span[id^=tweetdate][id$=12-11-2012])。可能是长度?我只使用PHP完成了排序,但此解决方案非常好:-)。
var count = $('span[id*=12-11-2012]').length;
$('#count').html(count);
$(function(){
 var ret = {};
  $('span[id^="tweetdate"]').each(function(){
      var tmp_array = this.id.split('_');
      var date = tmp_array[tmp_array.length-1];
      if(ret[date]){
          ret[date] ++;
      }else{
          ret[date] = 1;
     }
  });
  console.log(ret);
});