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

2 に答える 2

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";
}
于 2009-09-08T00:01:39.113 に答える
6

この行を変更します。

calculate_date(); 

に:

var day = calculate_date();

あなたが得ているエラーは、「日」が現在のスコープ内に存在しないためです。

于 2009-09-08T00:01:38.973 に答える