如何使用jQuery计算其他div中的类的div数

时间:2012-07-21 01:54:22

标签: javascript jquery html

我需要计算每个div中名为event_month的事件类的div数。

我现在有这个:

$('#events #event_listings .event_month').each(function(i, obj) {
    var Count = $(this +'> .event').size();
    console.log(Count); 
});

这是我尝试将Javascript应用到的HTML:

<div class="header"><span>October 2012</span></div>
  <div class="event">
    <h3>Telematics Munich 2012 (29th to 30th)</h3>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer commodo ante iaculis purus placerat sed consectetur odio venenatis. Ut erat nisi, laoreet at tempor vel, sollicitudin sed dui.</p>
  </div>
</div>
<div id="september2012" class="event_month">
  <div class="header"><span>September 2012</span></div>
</div>
<div id="august2012" class="event_month">
  <div class="header"><span>August 2012</span></div>
</div> 
<div id="july2012" class="event_month">
  <div class="header"><span>July 2012</span></div>
</div> 
<div id="june2012" class="event_month">
  <div class="header"><span>June 2012</span></div>
  <div class="event">
    <h3>Telematics Detroit 2012 (6th to 7th)</h3>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer commodo ante iaculis purus placerat sed consectetur odio venenatis. Ut erat nisi, laoreet at tempor vel, sollicitudin sed dui.</p>
  </div>
</div>
<div id="may2012" class="event_month">
  <div class="header"><span>May 2012</span></div>
  <div class="event">
    <h3>Insurance Telematics Europe 2012 (9th to 10th)</h3>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer commodo ante iaculis purus placerat sed consectetur odio venenatis. Ut erat nisi, laoreet at tempor vel, sollicitudin sed dui.</p>
  </div>
</div>

毋庸置疑,它不起作用。有什么想法吗?

3 个答案:

答案 0 :(得分:5)

尝试以下方法:

$('#event_listings .event_month').each(function(i, obj) {
    var count = $(this).find('.event').length;
    console.log(count); 
});

答案 1 :(得分:1)

this是一个对象,因此您无法将其与字符串连接。将它包装在jQuery中,然后过滤掉它的子节点。

var Count = $(this).children('.event').length;

答案 2 :(得分:1)

试试这个

$(function(){
    $('div.event_month').each(function(){
        alert($(this).children('.event').length);
    });​
  }
);​

这是一个功能示例:http://jsfiddle.net/Ug7SF/