我有一个日历,我在其中选择一个与数组
值匹配的日期,然后附加
一个带有某种样式的div
。但现在的问题是,当 day = 1 时,它还会选择下个月的第 1 天表格,因为这也在我的事件 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()
方法选择第一个,但这不会改变任何内容。
最佳答案
不要在所有 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 号。
因此,注意到上一个/下一个日期具有不同的颜色,我会假设它们具有不同的类别,并且您可能应该使用它来识别要过滤的当前月份日期。
关于javascript - 在特定选择器中追加 div 并获取第一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44318602/