我有一个日历,我选择的日期与array
值匹配,而append
和div
的日期与某些样式相符。但现在的问题是,当白天= 1时,它也将在下个月选择第1天表格,因为这也在我的active slider
所以基本上我想要做的是尝试选择我activer-slider
中的第一个,这里是我将样式添加到特定日期的代码:
$('.swiper-slide-active').find('td').each(function(){
if ($(this).text().trim() == splitDate[0].toString()) {
$(this).first().empty().append('<div class="ex-done ex-base">' + splitDate[0] + '</div>');
}
})
正如您所看到的那样,我尝试使用first()
方法选择第一个,但这不会改变任何内容。
答案 0 :(得分:1)
不要在所有td
元素上运行代码,而是先过滤它们。
$('.swiper-slide-active td:not(.text-muted)')
.filter(function() {
return $(this).text().trim() == splitDate[0].toString();
})
.empty()
.append('<div class="ex-done ex-base">' + splitDate[0] + '</div>');
但请记住,当您选择第30个时,您将遇到相反的问题。它将突出显示上个月的第30个。
因此,注意到上一个/下一个日期的颜色不同,我会假设它们有不同的类,您应该使用它来识别要过滤的当前月份日期。