php - 如何在不创建新元素的情况下更改某个元素的类?
问题描述
我目前正在制作日历。当用户在某个日期添加一个事件时,日历上的日期将通过更改它所属的类来获得另一种背景颜色。
这是我到目前为止尝试过的:
for ( $day = 1; $day <= $day_count; $day++, $str++) {
$date = $ym . '-' . $day;
for($i=0;$i<$len;$i++){
if($date == $event_data[$i]['event_date'] && $date!=$today){
$week .= "<td class='event'><a href = 'add_calendar.php?date=".$date."'>".$day."</a></td>";
}
}
if ($today == $date ) {
$date_replaced = str_replace(":","",date('Y:m:d'));
$week .= "<td class='today'><a href = 'add_calendar.php?date=".$date."'>".$day."</a>";
}
else {
$week .= "<td><a href = 'add_calendar.php?date=".$date."'>".$day."</a>";
}
$week .= '</td>';
if ($str % 7 == 6 || $day == $day_count) {
if ($day == $day_count) {
$week .= str_repeat('<td></td>', 6 - ($str % 7));
}
$weeks[] = '<tr>' . $week . '</tr>';
$week = '';
}
}
然而,它变成了如图所示:当添加了一个事件时,就会显示一个新的日期并弄乱日历。
有谁知道如何解决这个问题?非常感谢!
日历的css是:
.today {
background: orange;
}
.event {
background: #f6ffdb;
}
解决方案
正如评论中所说,不需要循环。像这样的东西应该可以工作(但显然我自己很难测试它,所以你可能仍然需要一些调整)。
<?php
for ($day = 1; $day <= $day_count; $day++, $str++) {
$date = $ym . '-' . $day;
if ($date == $event_data[$i]['event_date'] && $date != $today) {
$week .= "<td class='event'><a href = 'add_calendar.php?date=" . $date . "'>" . $day . "</a></td>";
}
elseif ($today == $date) {
$date_replaced = str_replace(":", "", date('Y:m:d'));
$week .= "<td class='today'><a href = 'add_calendar.php?date=" . $date . "'>" . $day . "</a>";
}
else {
$week .= "<td><a href = 'add_calendar.php?date=" . $date . "'>" . $day . "</a>";
}
$week .= '</td>';
if ($str % 7 == 6 || $day == $day_count) {
if ($day == $day_count) {
$week .= str_repeat('<td></td>', 6 - ($str % 7));
}
$weeks[] = '<tr>' . $week . '</tr>';
$week = '';
}
}
推荐阅读
- javascript - 如何从javascript发送具有2个值的表单?
- swift - 快速 NSPredicate 数据(结构)
- php - Doctrine LockMode::PESSIMISTIC 数据库重复
- jquery-ui - 自动完成:在悬停和按下向上和向下键时更改颜色
- python - 我想在某些条件下从列表 python 列表中创建一个列表,我提到了预期的输出
- python-3.x - “SalesforceBulk”对象没有属性“post_bulk_batch”
- xml - 将结构化 XML 国际邮寄地址格式化为文本
- c# - CSharpScript - TypeLoadException
- wordpress - 无法修复主页中的空间问题
- android - 如何在android中使用改造将参数和值传递给发布api?