我如何通过javascript为我的表创建自动标记

how can I create an automatic marking by javascript for my table

本文关键字:创建 我的 何通过 javascript      更新时间:2023-09-26

我有一个表,我需要加粗它,我不知道我怎么能使它。例如,就像从周标记代码问题是,因为时间总是不同的。我的问题是,我不知道如何去做。

这是我需要编辑的表格

var days = 'sunday,monday,tuesday,wednesday,thursday,friday,saturday'.split(',');
document.getElementById( days[(new Date()).getDay()] ).className = 'bold';
.bold {
    font-weight:bold;
}
The example is how it will work
<!-- begin snippet: js hide: false -->

var currentDate = new Date();
var currentHour = currentDate.getHours();
var currentMinute = currentDate.getMinutes();
var minuteBin = currentMinute - (currentMinute % 15);
var idString = ""+currentHour+minuteBin;
console.log("Time =",currentHour,":",currentMinute,"bin =",minuteBin,"idString =",idString);
document.getElementById(idString).className = 'bold';
.bold {
    font-weight:bold;
}
<table>
    <tr id="2115">
        <td>21:45</td>
        <td>A</td>
    </tr>
    <tr id="2130">
        <td>22:00</td>
        <td>B</td>
    </tr>
    <tr id="2145">
        <td>22:15</td>
        <td>C</td>
    </tr>
</table>

您可以使用jQuery来迭代TD,并添加一个类来加粗您想要加粗的TD。下面是一个使用jQuery的例子,但是没有jQuery也可以直接做同样的事情(只是多做一点工作):

var time = '18:55';
$('table td:nth-child(1)').each(function(index, td) {
    if ($(td).text() === time) {
        $(td).addClass('highlight-time');
    } else {
        $(td).removeClass('highlight-time');
    }
});

JSFiddle: http://jsfiddle.net/sah27uo6/2/

要设置当前小时的TD粗体,可以这样做:

var hour = new Date().getHours();
$('table td:nth-child(1)').each(function(index, td) {
    if ($(td).text().indexOf(hour) == 0) {
        $(td).addClass('highlight-time');
    } else {
        $(td).removeClass('highlight-time');
    }
});

JSFiddle: http://jsfiddle.net/sah27uo6/3/

注意,它是用户计算机上的当前小时。如果他们在不同的时区,就会有问题。这就更复杂了