- ベストアンサー
JavaScriptでリンク先を変更する方法と対策
- JavaScriptでリンク先を変更する方法を探しています。jQueryを導入した際にリンク先の数値を変更したいが、jQueryの動作が停止してしまいます。
- HTMLのソースは<a href="a?x=344&y=-53" class="a_a"><img src="#"></a>のような形式であり、画像をクリックしてリンクがa?x=344&y=-53なら別のページに誘導することを考えています。
- JavaScriptでこれを実現することは可能でしょうか?また、対策方法があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ANo.1です。 書いてから気付きましたが、href属性を変更するとスクリプトが動作しないのであれば、動的に変更しても駄目かもしれません。 onclick属性で実装した方が良いかもしれません。 参考までに。 <script type="text/javascript" src="./jquery-1.4.2.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var map = { "a?x=344&y=-53" : "aaa.html", "b?x=-50&y=0" : "bbb.html", }; $("a").click(function(){ var addr = $(this).attr("href"); if(addr in map){ location.href = map[addr]; return false; } }); }); </script> <a href="a?x=344&y=-53" class="a_a"><img src="#">AAA</a> <a href="b?x=-50&y=0" class="a_b"><img src="#">BBB</a>
その他の回答 (1)
- shiren2
- ベストアンサー率47% (139/295)
理解出来ているかわからないですが、こういうことでしょうか。 インデントは全角スペースになっています。 <script type="text/javascript" src="./jquery-1.4.2.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var map = { "a?x=344&y=-53" : "aaa.html", "b?x=-50&y=0" : "bbb.html", }; $("a").each(function(){ var addr = $(this).attr("href"); if(addr in map){ $(this).attr("href", map[addr]); } }); }); </script> <a href="a?x=344&y=-53" class="a_a"><img src="#">AAA</a> <a href="b?x=-50&y=0" class="a_b"><img src="#">BBB</a>
お礼
ソース見た感じやりたい事はそうです。 返答有難う御座います。 少し試してみますね。
お礼
ありがとうございます。 まだ前回の解答の実験が出来ておらずいまから実験してみます。 返事が遅れまして失礼致しました><