我有一个动态生成的内容表(来自 mysql 的 PHP)。第一列始终是日期。一些记录共享相同的日期。
我的目标是使用相同的背景颜色设置具有相同日期的所有记录,并且日期仅出现在当天的第一个事件中。
我不是 javascript/jquery 专家,但这是我的第一次尝试。它还没有完全发挥作用。这是我的两个问题:
1:不能让重复的日期消失(见代码中的注释)
2:根据上面单元格的内容添加类的整个方法似乎非常慢。页面加载大约需要 10-12 秒,表格大约有 100-150 行。这是实现这一目标的最快方法吗?
$(document).ready(function(){
$("td.date").each(function(){
var cellAbove = $(this).parent().prev().children(".date").html();
if ($(this).html()!==cellAbove){$(this).parent().addClass("firstDate");}
if ($(this).html()==cellAbove){$(this).parent().addClass("multiDate");}
});
$("tr.firstDate").filter(":even").css("background-color","#FFFFFF");
$("tr.firstDate").filter(":odd").css("background-color","#F4F4F4");
$("tr.multiDate").each(function(){
$(this).children(".date").text(); //NOT FUNCTIONING
$(this).css("background-color",$(this).prev().css("background-color"));
});
});
<table>
<tr>
<td>DATE</td>
<td>EVENT</td>
</tr>
<tr>
<td class="date">January 5, 2013</td>
<td>Board Meeting</td>
</tr>
...
</table>