カーソルを乗せたセルの背景色を変えるには?

[上に] [前に] [次に]
高橋 [E-Mail] 1999/10/08(金) 11:57:59
セルの背景色を変える方法について、1999/9/26の質問に対するとほほ様の回答は以下のようでしたが、この通りに記述したページをブラウザ(IE5.0)で表示すると、
「エラー:オブジェクトがありません:'this'」というメッセージが表示されてしまいます。
何が間違っているのでしょうか?また、他に記述すべきことがあるのでしょうか?
どなたかご指南ください。よろしくお願いします。

−とほほ様の回答−
<TD onMouseOver="this.style.backgroundColor='#FFCCCC'"
onMouseOut="this.style.backgroundColor='#FFFFFF'">XXX</TD>

Mugi [E-Mail] 1999/10/08(金) 21:41:17
うちではちゃんと動作しました。
Win95/NT+IE5

高橋 1999/10/12(火) 09:47:09
[[解決]]
<Mugiさんへ>
レスありがとうございます。
が、こちらの環境もWinNT+IE5なのですが・・・
よろしければ、動作したというソースコードを記述していただけませんでしょうか?
</Mugiさんへ>

<自己レス>
もしやと思い、TDタグの中にID="this"という記述を入れると、正常に動作しました。
ただ、とほほ様の記述に間違いがあるとは思えず、Mugiさんにも動作確認していただいたようですので、こちらの環境の問題かと思われます。
Mugiさんがソースコードを記述して下さるのを待って、再度検証してみます。
</自己レス>

Mugi [E-Mail] [HomePage] 1999/10/12(火) 18:34:40
> よろしければ、動作したというソースコードを記述していただけませんでしょうか?
そのままコピーしただけです。

<table>
<tr>
<TD onMouseOver="this.style.backgroundColor='#FFCCCC'"
onMouseOut="this.style.backgroundColor='#FFFFFF'">XXX</TD>
</tr>
</table>

高橋 1999/10/12(火) 19:10:42
<Mugiさんへ>
なるほど、記述していただいたソースでは、問題なく動作しました。
ではなぜ、こちらの作っているページで動かなかったのか?
その理由が、先ほどわかりました。

なんと、ページ中に、<script language=VBScript>〜</script>という記述が入っていたために、カーソルをセル上に乗せたとき(またはセルから外れたとき)、Subまたはfunctionにthisという名前を探しに行き、それがないためエラーがでる、ということだったようです。
ちなみに、language=VBScriptをなくせばOKでした。(当然スクリプトは動きませんが・・・)なお、JScriptは試していません。
つまり、VBScriptと同時にこの方法を使うには、やはりTDタグの中にid=thisを入れてやる必要があるということですね。ちょっと残念です。
Mugiさん、レスありがとうございました。

とほほ 1999/10/12(火) 20:50:01
[[解決]]
解決マークしておきますね。

Mugi [E-Mail] [HomePage] 1999/10/12(火) 20:58:01
<table>
<TD onMouseOver="this.style.backgroundColor='#FFCCCC'"
onMouseOut="this.style.backgroundColor='#FFFFFF'" language="javascript">XXX</TD>
という風にすればVBSとJSは混在しても平気ですよ。

[上に] [前に] [次に]