プロが教えるわが家の防犯対策術!

催し物の表で、開催日を過ぎたら「終了」と表示し、さらに行の色を灰色に変えるために下記のように記述しました。
--------------------------------------
<html>
<head>
<script Language="JavaScript"><!--
function finMark(y,m,d)
{
openDay = new Date(y+"/"+m+"/"+d);
newDay = new Date();
n = (newDay - openDay)/(1000*60*60*24);
if (n >= 1) {idx = "c01"}
document.getElementById(idx).style.backgroundColor = "#eeeeee";
document.write("<font style='color:red'><br>終了</font>")
}
// --></script>
</head>
<body>
<table>
<tr id="c01">
<td>7/7開催<script>finMark(2005,7,7)</script></td>
</tr>
</table>
</body>
</html>
--------------------------------------
このようにidをふると、一行しか色を変えられません。
idをふる以外の方法を聞かせていただければと思います。
また、同時に文字の色を変える方法も伺えれば幸いです。
よろしくお願いします。

A 回答 (1件)

<html>


<head>
<script Language="JavaScript"><!--
function finMark(id,y,m,d){
openDay = new Date(y+"/"+m+"/"+d);
newDay = new Date();
n = (newDay - openDay)/(1000*60*60*24);
if (n >= 1) {
document.getElementById(id).style.backgroundColor = "#eeeeee";
document.getElementById(id).style.color="gray";
document.write("<font style='color:red'><br>終了</font>")
}
}
// --></script>
</head>
<body>
<table>
<tr id="c01">
<td>7/7開催<script>finMark("c01",2005,7,7)</script></td>
</tr>
</table>
</body>
</html>
----------------------------------------------------------
やはり、idを振る方法なので、希望のものとは違うかもしれませんが
finMark に idを渡してやることで処理する行を変えさせることができるので、問題ないと思います。
IEの場合idを振らないでテーブルに行と列でアクセスできますが、汎用性を欠いてしまうので、この方が良いと思います。
あと、文字色も背景色と同じように変更できます。
    • good
    • 0
この回答へのお礼

早速、使わせていただきました。
今までのコードを活用できる上に、思い通りに表示することができ嬉しいです。

ご回答ありがとうございました。

お礼日時:2005/07/08 17:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!