document.getElementById(variable) 求助!

3

我知道这是可以做到的,但是我在实现时遇到了问题。基本上,我想根据每天变化的变量来改变特定表格单元格的字体颜色,从而在日历中突出显示一周中的某一天。我知道可以使用变量来获取元素id,但我错过了什么?我尝试在每个单元格内部使用唯一的DIV,但是得到了相同的错误-"对象必需"。提前致谢。 以下是代码:

<style>

td#day1{颜色:白色;} td#day2{颜色:白色;} td#day3{颜色:白色;} td#day4{颜色:白色;}等等..

<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>
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";
}

6

将这一行代码进行修改:

calculate_date(); 

to:

var day = calculate_date();

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接