2

我正在尝试以 Greasemonkey 脚本的形式为 Moodle 制定时间表。

这个想法是突出当前小时的主题,但我找不到这样做的工作方式。

我将 css 注入页面,并使用 jQuery 将注入的 css 类添加到目标 td。

这是注入页眉的css代码:

.current_class {background-color:green};

这是用于将类添加到 td 的 javascript 代码:

var cell = $("#timetable_table").find("tr").eq(current+1).find("td").eq(date.getDay());

我知道单元格是正确的 td 因为我可以 cell.text("foo") 并且正确的单元格被修改了,但是当我这样做时:

cell.addClass("current_class");

桌子保持不变。

我不必那样做,我只想动态更改 td 标签上的背景,所以我不介意使用其他方法。

谢谢。

4

2 回答 2

6

首先,我建议您更改为:

var cell = document.getElementById('timetable_table').rows(current+1).cells(date.getDay());

和:

cell.className += (cell.className ? " " : "")+"current_class";

但这只是出于性能原因

问题的可能原因是您background-color在其他地方被更具体地定义。尝试使用这个 CSS 选择器:

#timetable_table tr>td.current_class{background-color:green};

这应该足够具体才能获胜。

于 2013-05-14T18:47:07.807 回答
1

使用 className 属性进行更改或添加类,例如:

tbody.firstChild.lastChild.className='tr-parent1';
于 2019-07-31T12:14:02.770 回答