アプリ版:「スタンプのみでお礼する」機能のリリースについて

テーブルにて、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>

A 回答 (1件)

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
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/10/12 15:18

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