我需要计算每个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>
毋庸置疑,它不起作用。有什么想法吗?
答案 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/