• 締切済み

nullまたはオブジェクトではありません

どなたかよろしくお願いします。 以下のスクリプトで動作確認中にエラーが表示されます。 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]); } }; } } }

みんなの回答

  • oka5130
  • ベストアンサー率66% (35/53)
回答No.1

失礼ですが、上記の質問ではわからないことばかりです。 ・linkees とは何でしょう? ・タグの構造はどうなっているのでしょう? (linkee.getElementsByTagName ("img")[2] がおかしいんでしょうが、  imgタグが3つあるのかどうかわかりません。  tdタグがどう関係しているのかもわかりません。) ・13行目は changeImage(image, ...); の行でよろしいでしょうか? あと、 > IEの「スクリプトのエラーを表示しない」をすれば > 一応希望通りに動くので、問題ないとは思うのですが気になります。 ですが、IEの設定はクライアント依存なので、ご自分で確認なさる分には問題ありませんが、 スクリプトのエラーを表示する設定にしている人を無視することになってしまいますので、 JavaScriptにエラーがあることは問題だと思います。

matsuriri
質問者

お礼

質問の仕方がわかり難くて申し訳ございません。 ご指摘受けたことを踏まえて、もう一度自分で考え直してみますので 一度締め切ります。 気軽に質問したわけではないのですが、結果的にお騒がせ質問のように なってしまい、申し訳ございません。 あと「スクリプトエラーの表示をしない」については oka5130さんのおっしゃる通りだと思うのですが このOKWaveを表示するときや他サイトを開くときもよく出るので ひょっとして、そっちが現在の"常識"なのかと思い 念のために書いただけで、私もやはり問題だと思っています。 回答本当にどうもありがとうございました。

関連するQ&A