2009-09-07 5 views
3

Je sais que cela peut être fait mais j'ai des problèmes pour le faire fonctionner. Fondamentalement, je veux changer la couleur de la police d'une cellule de tableau spécifique en fonction d'une variable qui change tous les jours, en mettant en évidence le jour de la semaine dans un calendrier. Je sais qu'une variable peut être utilisée pour obtenir l'identifiant de l'élément mais qu'est-ce qui me manque ici? J'ai essayé d'utiliser un DIV unique dans chaque cellule, mais obtenir la même erreur - "Objet requis". Merci d'avance. Voici le code:document.getElementById (variable) Aide!

<style> 

td # day1 {color: white;} td # day2 {color: white;} td # day3 {color: white;} td # Day4 {color: white ;} etc ..

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

Répondre

9

Cette fonction est incorrecte:

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

La variable 'jour' n'est pas réglé partout. Vous le vouliez probablement:

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

Modifier cette ligne:

calculate_date(); 

à:

var day = calculate_date(); 

L'erreur que vous obtenez est parce que «jour» n'existe pas dans la portée actuelle.