3

我知道它可以完成,但在让它工作时遇到问题。基本上,我想根据每天变化的变量更改特定表格单元格的字体颜色,实际上突出显示日历中的星期几。我知道可以使用变量来获取元素 id,但是我在这里缺少什么?我尝试在每个单元格内使用唯一的 DIV,但得到相同的错误 - “需要对象”。提前致谢。这是代码:

<style>

td#day1{color:white;} td#day2{color:white;} td#day3{color:white;} td#day4{color:white;} 等等。

<script type="text/javascript">
function calculate_date(){
    currentTime = new Date();
    day = currentTime.getDate();
    return day;
    }
function highlight_day() {
    calculate_date(); 
    today = 'day'+ day;
    document.getElementById(today).style.color= "red";
    }
document.onload(highlight_day());
</script>
</head>
<body>
SEPTEMBER
<table class="cal">
<tr>
<td id="day1">1</td><td id="day2">2</td><td id="day3">3</td><td id="day4">4</td>
4

2 回答 2

9

这个函数不正确:

function highlight_day() {
  calculate_date(); 
  today = 'day'+ day;
  document.getElementById(today).style.color= "red";
}

'day' 变量未在任何地方设置。你可能想要这个:

function highlight_day() {
  var day = calculate_date(); 
  var today = 'day'+ day;
  document.getElementById(today).style.color= "red";
}
于 2009-09-08T00:01:39.113 回答
6

更改此行:

calculate_date(); 

到:

var day = calculate_date();

您收到的错误是因为当前范围内不存在“day”。

于 2009-09-08T00:01:38.973 回答