こんにちは。
IE8で表示されてしまうjavascriptエラーで困っています。
以前、別の方が同じような質問をされていたのですが、
理解できず新たに質問させて頂きました。
私はjavascriptに関して全くの素人です。
技術者の方、大変お手数ですが素人にも分かるような回答を頂けると
とても助かります。
ロールーオーバに使用目的で以下のスクリプトをリンクしております。
// JavaScript Document
function smartRollover() {
if(document.getElementsByTagName) {
var images = document.getElementsByTagName("img");
for(var i=0; i < images.length; i++) {
if(images[i].getAttribute("src").match("_off."))
{
images[i].onmouseover = function() {
this.setAttribute("src", this.getAttribute("src").replace("_off.", "_on."));
}
images[i].onmouseout = function() {
this.setAttribute("src", this.getAttribute("src").replace("_on.", "_off."));
}
}
}
}
}
if(window.addEventListener) {
window.addEventListener("load", smartRollover, false);
}
else if(window.attachEvent) {
window.attachEvent("onload", smartRollover);
}
画像を2枚用意し、ロールオーバ時に●●●_on.jpg、そうでないときに
●●●_off.jpgと分けております。
マックサファリ、ファイアーフォックス、ウィンドウズIE6,7は
問題なく表示されます。
ところがウィンドウズIE8でのみ、このようなエラーが出てしまいます。
`get Attribute()` is null or not an object
どうやらこの箇所が怪しいようです。
↓ ↓ ↓ ↓
if(images[i].getAttribute("src").match("_off."))
ご回答を頂けるととても助かります。
どうぞよろしくお願い致します。
No.3ベストアンサー
- 回答日時:
=>みなさんはどのように勉強されたのですか?
私の場合、本を読んで勉強しているわけではないですね。実践あるのみです。わからない事があったらまずWebで検索します。リファレンスやサンプルがいくつか解説されているページをブックマークに登録しておいてさっと調べる。だめならgoogleで検索する。それでもだめならここに質問を投稿するってパターンです。
=>初心者の頃に読んだおすすめの本
javascript関係で最初に買った本は、秀和システムの「詳解HTML & Javascript 辞典」(2000年初版)というリファレンス本です。それ以降プログラム関係の本は買って無いです。でも最近、技術評論者の「PHPハンドブック」てのを買ってしまった。まあ図書館で無償でいろいろ本を借りることはありますが、買いません。お金がもったいないです。現代はネットで全部調べられます。
ちなみに、初心者のころ、最初に読んだプログラム関係の本は
培風館「FORTRAN入門」(1981年改定3版)でした。古うー。
yyr446さま
こんばんは。
お返事どうもありがとうございました。
やはり実践あるのみですね。
実際IE8でエラーが出て、いろいろ検索したり、
ここで質問したりして分かる事もありました。
まだまだひよっこですが、少しずつ勉強していきたいと
思います。
yyr446さんは1981年から携わってらっしゃるのですね。
大ベテランですね!
私もそうなりたいです。
何度も回答頂き、どうもありがとうございました。
また困った事があったら相談させてください。
宜しくお願いします。
No.2
- 回答日時:
裏を取っている訳ではありませんが、
IE8からgetAttributeで取得する属性が無かった場合、nullが返ってくるようになったようです。
IE7までは""空文字が返ってきていました。
きっとHTMLの中にsrc属性が付いてないものがあるのでは無いでしょうか。
if(images[i].getAttribute("src").match("_off."))
↓
if(images[i].getAttribute("src") != null || images[i].getAttribute("src").match("_off."))
このように変更してみては如何でしょうか。
この回答への補足
take_julyさん、yyr446さん
たびたびすみません。
私はjavascriptの勉強を初めてまだ10日くらいの
初心者なのですが、
みなさんはどのように勉強されたのですか?
今ドリルのような本で少しずつ練習しているのですが、
トラブルが起こった時対処できずに困ってしまいます。
初心者の頃に読んだおすすめの本などございましたら
教えて頂けないでしょうか?
宜しくお願い致します。
ake_julyさん、おはようございます。
>getAttributeで取得する属性が無かった場合、nullが返ってくるようになったようです。
そうなのですね。他のページを見ても、同じようなエラーが
出ているページがありました。
IE8とは優れたブラウザだと聞いていたのですが
今までの方法にエラーが出てしまっては困りますね。。。
やはり知識を持っていないと。
勉強になりました。
どうもありがとうございました。
また何か問題があったらどうぞよろしくお願い致します。
お礼が遅くなり、大変失礼致しました。
No.1
- 回答日時:
IE8もって無いので試せませんが、
IE8だとgetAttribute("src")でフルパス名が変えるようになったそうです。
if(images[i].getAttribute("src").match("_off."))
↓ ↓ ↓ ↓
if(images[i].src.match("_off."))
yyr446さん、おはようございます。
教えて頂いた方法でなおりました。
急ぎの仕事だったので、とても焦っていて
お礼が遅くなり、申し訳ございませんでした。
大変助かりました。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c++std::string型をTCHARに変換...
-
フォームに入力された値により...
-
日替わりで画像を変更したい
-
MAX関数を使ってからLEFT JOIN...
-
createElementで作成した要素を...
-
getElementByIdの戻り値がnull...
-
Colorboxがうまく設置できません
-
JavaScriptで変更した属性の元...
-
ボタンを押すたびに交互に切り...
-
【緊急】HTML文書の直しお願い...
-
Slick.jsのオプションrtlについて
-
jqueryのsortableで一部ソート...
-
OpenCVでの画像読み込みについて
-
lightbox2をiframeから外に表示...
-
javascriptでオブジェクトの重...
-
文字を固定したいのですが…
-
pythonのDjangoでHTML内で変数...
-
【java】背景画像を一定時間で...
-
Ctrl+F(検索)の窓を出したいの...
-
javascript テキストエリアを1...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c++std::string型をTCHARに変換...
-
JSPでの画像ファイル表示
-
画面が真っ白になるのはどうして?
-
クリックして変更した画像を他...
-
日替わりで画像を変更したい
-
Excel VBA マクロ 画像(...
-
OpenCVを用いたヒストグラムの...
-
文字列型定数2
-
画像をクリックしたら別ウイン...
-
ランダムに画像を表示し、ポッ...
-
Javascriptで画像を水面のよう...
-
フォームに入力された値により...
-
C言語のポインタ表現
-
携帯でGIFアニメーションが正し...
-
画像クリックした後別ウィンド...
-
ボタンを押すとオリジナルの効...
-
時間で背景の画像を変更したい...
-
JAVASCRIPTを使って、できるだ...
-
【初心者】UWSCでjavascriptで...
-
ボタンを押したタイミングで画...
おすすめ情報