document.getElementById(variable)帮助!

时间:2009-09-07 23:58:00

标签: javascript getelementbyid

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

<style>

TD#DAY1 {颜色:白色;} TD#DAY2 {颜色:白色;} TD#第三天{颜色:白色;} 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>

2 个答案:

答案 0 :(得分: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";
}

答案 1 :(得分:6)

更改此行:

calculate_date(); 

为:

var day = calculate_date();

您得到的错误是因为当前范围内不存在“日期”。