获取日历中任何日期的事件或HTML对象

时间:2012-11-27 10:55:24

标签: javascript-events

我正在尝试为日历中的某些现有日期设置颜色。 我知道如何为日期设置背景颜色。

如果我手动选择日期onclick= 'fSetSelectedDayShow(this)',我将使用此代码。

function fSetSelectedDayShow(evnt){
    var selectedDate=evnt.firstChild.innerHTML; 
    evnt.style.backgroundColor = '#66FF66';
}  

如果我从我的日历中手动选择任何日期,这项工作正常。

现在我想反之亦然。我有日期,我想在日历中设置颜色。

例如,我想在加载屏幕时为日历的第9,11和13日着色。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

您的问题与JavaScript事件几乎没有关系。

的例子
onclick='fSetSelectedDayShow(this)'

不是真正的JavaScript事件处理程序,而是在onlclick事件触发时包含在匿名事件处理程序中的用户函数

function(evt) {
  return fSetSelectedDayShow(evt.originalTarget);
}

为了实现日历中特定日期的着色,我只想使用CSS。您最有可能使用某种服务器端代码或JavaScript来呈现页面,因此您可以有条件地将class的某些值添加到您希望着色的那些日期的标记。

使用PHP呈现HTML的示例可以是:

<div class="calendarDay <?php echo in_array(date('d', $timestamp), array(9, 11, 13)) ? 'colorThis' : '' ?>">
  <?php echo date('d', $timestamp) ?>
</div>

然后显然你需要一个CSS类,如:

.colorThis {
  background-color: #66FF66;
}