私はあなたのコードがどのように見えるかわかりませんが、多分以下があなたを助けるでしょう:HTML:
<table>
<tr id="buttons">
<td></td><td></td><td></td>
</tr>
</table>
CSS:
.safe {
background: url(../safe.jpg) no-repeat 0 0;
}
.non-safe {
background: url(../unsafe.jpg) no-repeat 0 0;
}
JavaScript:
var buttons = document.getElementById("buttons").getElementsByTagName("td"),
i = 0,
len = buttons.length;
for ( ; i < len; i++) {
buttons[i].addEventListener("click", function() {
for (i = 0; i < len; i++) {
var button = buttons[i];
if (button === this) { this.className = "safe";
} else { button.className = "non-safe"; }
}
}, false);
}
より高度なテクニックについては、「イベント委任」をグーグルで検索することもできます。
それぞれ1つのリスナーを追加するのではなく、td要素の共通の祖先要素にリスナーを追加します。