こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

テーブルの背景色を複数変更する

テーブルにて、onMouseOverで背景色を変え、
onMouseOut にて背景色を戻すスクリプトを作っています。

セル一つならば変更できますが、複数のセルに依存関係があり、依存関係があるセル同士はそのセルにマウスオーバーされると依存関係があるセル全ての色を変更したいと思っています。
いろいろと探しているのですが、見つかりません。
以下のようなサンプルで 1 と 4 が一緒に変更できないものでしょうか。

よろしくお願いします。

<html>
<head>
<title>テーブルの色を変える</title>

<script language="JavaScript">
<!--

// b_color(idname,cn);
// 背景色を変える
// idname: 色変更したいタグid;
// cn:色変更法
function b_color(idname,cn)
{
// alert(idname); // debug alert
if (document.getElementById)
{
document.getElementById(idname).style.backgroundColor = cn;
}else{
// alert("あなたのブラウザには対応しておりません。");
}
}

if (! document.getElementById)
{
document.write("あなたのブラウザには対応しておりません。マウスを動かしても色は変えられません。<br>");
// マウス移動でいちいちalertが出ると煩わしいので、最初に表示しておく
}
//-->
</script>

</head>

<body>


<table border="1">
<tr>
<td id="11" bgcolor="#cccccc" onMouseOver="b_color('11','#ff0000');" onMouseOut="b_color('11','#0000ff');">ここ1</td>
<td>ここ2</td>
</tr>
<tr>
<td>ここ3</td>
<td id="11" bgcolor="#cccccc" onMouseOver="b_color('11','#ff0000');" onMouseOut="b_color('11','#0000ff');">ここ4</td>
</tr>
</table>

</body>
</html>

投稿日時 - 2004-10-12 12:43:33

QNo.1038729

困ってます

質問者が選んだベストアンサー

function b_color(idname,cn)
{
if (document.getElementById)
{
for ( i=0 ; i < document.all.item(idname).length ; i++ ) {
document.all.item(idname, i).style.backgroundColor = cn;
}
} else {
}
}

こんな感じでいいんじゃないですか?
idがページ上に複数あるときは参照方法が(id,n)となります。

参考URL:http://tohoho.wakusei.ne.jp/js/element.htm#Element

投稿日時 - 2004-10-12 15:00:20

お礼

仰るとおりにやったらできました。
ありがとうございました!

投稿日時 - 2004-10-12 15:18:29

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問