将div添加到特定选择器中并获取第一个

时间:2017-06-01 23:30:53

标签: javascript jquery

我有一个日历,我选择的日期与array值匹配,而appenddiv的日期与某些样式相符。但现在的问题是,当白天= 1时,它也将在下个月选择第1天表格,因为这也在我的active slider

这是我的意思的图片: enter image description here

所以基本上我想要做的是尝试选择我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()方法选择第一个,但这不会改变任何内容。

1 个答案:

答案 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个。

因此,注意到上一个/下一个日期的颜色不同,我会假设它们有不同的类,您应该使用它来识别要过滤的当前月份日期。