【发布时间】:2010-01-08 21:21:55
【问题描述】:
我有一张充满事件的表,我正在尝试获取每小时发生的事件的数量。这样就很容易看到并发事件的数量。
为此,我在表格中运行以寻找事件 div(位于 td 内),然后获取开始和持续时间,并将其放入单独的 div 中,然后将它们加起来所以我'最终会是 '9:00, 5 events', 10:00, 3 events...
到目前为止,我认为代码看起来不错,但我遇到了一个奇怪的问题。我正在传递一个索引,所以我知道正在计算哪个单元格。 第一个警报返回索引号。但是,第二个警报返回 [object HTMLDivELEMENT],我不知道这是为什么。如果我可以在 .each 函数之后获得索引,我认为一切都会正常工作。
代码是这样的(为了便于理解,稍微简化了一点)
for(sched=1;sched<8;sched++){
alert(sched);
jQuery('div.event', 'table#events td:nth-child('+sched+')').each(function(sched){
var start=jQuery(this).data('start');
var duration=jQuery(this).data('dur');
var eventId=jQuery(this).attr('id');
alert(sched);
for(t=0;t<=duration;t++){
var thisHour=start+t;
var numEvents=jQuery('li#hour'+thisHour, 'table#events td.dailyTotals:nth-child('+sched+')').data('count');
if(numEvents==null){
numEvents=0;
}
numEventsf++;
jQuery('li#hour'+thisHour, 'table#events td.dailyTotals:nth-child('+sched+')').css('background-color','red');
jQuery('li#hour'+thisHour,'table#events td.dailyTotals:nth-child('+sched+')').data('count', numEvents);
jQuery('li#hour'+thisHour,'table#events td.dailyTotals:nth-child('+sched+')').text(numEvents);
}
});
}
【问题讨论】: