2009-09-07 160 views
3

我知道這可以做,但我有問題得到它的工作。基本上,我想基於每天更改的變量來更改特定表格單元格的字體顏色,實際上突出顯示日曆中的星期幾。我知道一個變量可以用來獲取元素ID,但我在這裏錯過了什麼?我曾嘗試在每個單元格內使用唯一的DIV,但得到相同的錯誤 - 「Object Required」。提前致謝。 下面是代碼:document.getElementById(變量)幫助!

<style> 

TD#DAY1 {顏色:白色;} TD#DAY2 {顏色:白色;} TD#第三天{顏色:白色;} TD#第四天{顏色:白色;}等。

<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> 

回答

9

此功能是不正確的:

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

的 '天' 變量沒有設置任何地方。您可能想要這樣:

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

改變這一行:

calculate_date(); 

到:

var day = calculate_date(); 

你得到的錯誤是因爲'day'在當前範圍內不存在。