innerHTMLを使って、表示を切り替えるようなものを作る際、innerHTMLが使えないブラウザ用のクロスブラウザ対策ができているサンプルを教えてください。
もしかして、Prototype.jsとか使うと簡単にできるものなのでしょうか?
根本的なところで、Prototype.jsはサーバーと連携しなくても便利なものなのですか?
まず、prototype.jsを使用しても、この点に関するクロスブラウザ対策は実現できません。
prototype.jsはAjaxで有名ですが、サーバと連携しなくても有用です。
「innerHTMLが使えない」場合で、ページ読み込み後に「表示を切り替え」たいとなるとちょっと分からないのですが・・・。ただ、「エラーを出さない」のであれば、要素にinnerHTMLがあるかどうかを判定し、処理を分岐させることで可能です。
<html> <head> <script> function change(str){ //document.getElementByIdが使える場合 if(document.getElementById){ var elem = document.getElementById('test'); //innerHTMLが使える場合 if(elem.innerHTML){ elem.innerHTML = str; } } } </script> </head> <body> <div id='test'>default</div> <input type='radio' name='updown' onclick='change("上");'/>上<br/> <input type='radio' name='updown' onclick='change("下");'/>下 </body> </html>
普通は DOM を使う事になるでしょう。
http://www.mozilla-japan.org/docs/dom/technote/tn-dom-table/
prototype.js は Ajax でばかり有名ですが、汎用のユーティリティーで単独でも便利なものです。
http://www.imgsrc.co.jp/~kuriyama/prototype/prototype.js.html
ありがとうございます。
DOMってモジラ以外でも使えるものですか?
DOM自体がわかりません。
すみませんが、分かりやすいサイトがあれば教えていただきたいです。
ありがとうございます。