電子書籍の厳選無料作品が豊富!

どなたかよろしくお願いします。
以下のスクリプトで動作確認中にエラーが表示されます。
13行目「'src'はnullまたはオブジェクトではありません」とでます
どうやって直したら良いのかわかりません。
IEの「スクリプトのエラーを表示しない」をすれば
一応希望通りに動くので、問題ないとは思うのですが気になります。
どうすれば解消できるでしょうか。

function setLinkListener () {
var links = document.links;
for (var i = 0; i < links.length; i++) {
var link = links [i];
if (link.linkees) {
link.onmouseover = function () {
for (var i = 0; i < this.linkees.length; i++) {
var linkee = this.linkees [i];
// changePseudoLinkClassName (linkee);
if (linkee.tagName == "IMG") changeImage (linkee, linkee.src.replace ("_over.gif", ".gif").replace (".gif", "_over.gif"));
if (linkee.tagName == "TD") {
var image = linkee.getElementsByTagName ("img")[2];
changeImage (image, image.src.replace ("_over.gif", ".gif").replace (".gif", "_over.gif"));
}
}
};
link.onmouseout = function () {
for (var i = 0; i < this.linkees.length; i++) {
var linkee = this.linkees [i];
// restorePseudoLinkClassName (linkee);
if (linkee.tagName == "IMG") restoreImage (linkee);
if (linkee.tagName == "TD") restoreImage (linkee.getElementsByTagName ("img")[2]);
}
};
}
}
}

A 回答 (1件)

失礼ですが、上記の質問ではわからないことばかりです。



・linkees とは何でしょう?
・タグの構造はどうなっているのでしょう?
(linkee.getElementsByTagName ("img")[2] がおかしいんでしょうが、
 imgタグが3つあるのかどうかわかりません。
 tdタグがどう関係しているのかもわかりません。)
・13行目は changeImage(image, ...); の行でよろしいでしょうか?

あと、
> IEの「スクリプトのエラーを表示しない」をすれば
> 一応希望通りに動くので、問題ないとは思うのですが気になります。
ですが、IEの設定はクライアント依存なので、ご自分で確認なさる分には問題ありませんが、
スクリプトのエラーを表示する設定にしている人を無視することになってしまいますので、
JavaScriptにエラーがあることは問題だと思います。
    • good
    • 0
この回答へのお礼

質問の仕方がわかり難くて申し訳ございません。

ご指摘受けたことを踏まえて、もう一度自分で考え直してみますので
一度締め切ります。
気軽に質問したわけではないのですが、結果的にお騒がせ質問のように
なってしまい、申し訳ございません。

あと「スクリプトエラーの表示をしない」については
oka5130さんのおっしゃる通りだと思うのですが
このOKWaveを表示するときや他サイトを開くときもよく出るので
ひょっとして、そっちが現在の"常識"なのかと思い
念のために書いただけで、私もやはり問題だと思っています。

回答本当にどうもありがとうございました。

お礼日時:2008/06/21 14:23

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