如果这个元素是第一个没有类

时间:2015-06-16 16:49:03

标签: jquery calendar selector

好的,这很奇怪,我知道。但是我有一个日历,它显示两个日历,第二个是比显示当前月份的第一个日历提前一个月。用户选择一个日期,日历上的那一天变为填充圆圈。然后,他们选择第二个日期,其间的日期以正方形填充,以便整个选择变为椭圆形。

selectedFirstDay

selectedSecondDay

问题在于,当他们选择两个月之间的范围时,第一个月的最后一天需要是结束圆,而第二个月的第一天需要是一个开始圆。< / p>

其他一些信息:

  • 30日之后和1日之前的差距实际上包含班级.nextMonth.lastMonth的数据。所以第一个实际上并不是第一个元素。只是第一个没有上课的人。
  • 我有逻辑设置,如果范围在两个月之间,则最后一天始终是结束圈,第一天始终是开头。问题是,如果用户只选择第30个到第1个怎么办?然后我们有这个尴尬的选择,当这两个日期都需要是圆圈时。
  • 每个数字都是一个带有类.day的div,位于td内。如果已选中,则其为.checked

我的主要问题是:你怎么说&#34;如果结尾选择是日历中没有类.lastMonth的第一个元素,那么改变css样式&#34;

希望有足够的信息。谢谢!

1 个答案:

答案 0 :(得分:0)

你可以添加一个CSS规则,仅适用于第一个单元格和最后一个单元格的选择,以便始终被舍入

假设您有月份的.month和单元格的.day元素,您可以执行类似

的操作
.month .day:first-child {
    border-radius: 6px 0 0 6px;
}
.month .last-child {
    border-radius: 0 6px 6px 0;
}

假设背景颜色不是浮动元素。

如果您可以提供生成的HTML代码段,则可以更轻松地为您提供帮助。

如果我们采用javascript方法,我会创建一个对象服务作为模型来表示选择并创建2个不同的实例来表示每个月的范围以方便但这又是一个非常抽象的命题,因为我们不有你的例子中使用的HTML或日历插件的任何例子。

希望CSS部分给你一些想法