プロが教えるわが家の防犯対策術!

DOM Scriptingで、setAttributeによる画像の差し替えをしたいのですが、意図どおりに差し替えができるブラウザと、できないブラウザがあります。ブラウザのバージョンなど詳細はまだ確認しきれていないのですが、比較的新しいOSとブラウザで差し替えができない傾向があります。以下のようなかたちで行っているのですが、新しい環境だとsetAttributeが使えない、といったことがあるのでしょうか。

【HTML】
<img id="test" src="off.jpg" width="200" height="100" alt="test" />

【JavaScript(DOM Scripting)】
var test = document.getElementById("test");
test.setAttribute("src","on.jpg");

A 回答 (3件)

挙動がおかしいときはfirefoxのfirebugかchromeのツールのjavascriptコンソールで


エラー状況を確認するとよいですよ

この回答への補足

度々、ご回答をいただき、ありがとうございます。
Chromeのjavascriptコンソールを試してみました。しかし、今回の問題に関連する点については検出されなかったようです。しかし、よく確認してみたいと思います。

補足日時:2014/02/13 11:22
    • good
    • 0

はて、そうですか?


idの指定がまちがっているとか、function名をidで宣言している「test()」
としているとか、根本的なミスだったりしませんか?

<html>
<head>
<script>
function testfunc(){
var test = document.getElementById("test");
test.setAttribute("src","on.jpg");
}
</script>
</head>
<body>
<p>
<img id="test" src="off.jpg" width="200" height="100" alt="test">
<input type="button" value="go!" onclick="testfunc()">
</p>
</body>
</html>

この回答への補足

ご回答いただき、ありがとうございます。同じページで多数のjsファイルを読み込んでいるので、干渉?していることはあるかもしれません、調べてみます。一方で、ご指摘のようなミスの場合、動作する環境が複数存在する(XP Pro SP3 / IE8、Chrome、Firefox、Opera、Mac OSX 10.8.4 / Safari、iOS 6 / Safariなど ※細かいバージョンは今はわかりません。)ことは、考えにくいのでは?とも思いました。バグを調べるためのjsを用意して、今、問題の環境にいますが、それ自体が動作せず困っています。

補足日時:2014/02/12 15:29
    • good
    • 0

ざっと試しましたが特に問題なさそうです



どのOSとブラウザの組み合わせでダメだったか例示してください

この回答への補足

Windows 7 Home Premium(※関係ないかもしれませんがネットカフェ環境です。)
・IE 10.0.9
・Firefox 4.0
・Google Chrome 32.0.1700.107 m

Mac OSX 10.7.5
・Safari 5.1.7

iOS 7.0.4
・Safari 7.0 Mobile

動作ができないのは今のところ上記の環境です。

補足日時:2014/02/12 13:57
    • good
    • 0

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