table.innerHTMLへの代入
IE7 beta3を試しています。既存のJavaScriptを動かしてみて、まずinnerHTMLへの代入で引っかかりました。
普通のdivとかならinnerHTMLに代入しても問題ないんですけど、table、tbody、trのinnerHTMLへの代入が「未知の実行時エラー」とか言って怒られます。
いちいちremoveChild、あるいはdeleteRowするのは面倒なのでinnerHTMLにヌル文字列を代入する方が楽なんですけど、多分テーブルの構造が変わってしまうから許したくないんだろうなーとも思います。
念のため書いておくとIE6やFirefox1.5、Opera9.0では上のような現象は起きません。IE7 beta3 のバグであってほしい。
以下、テストするためのHTMLです。(要prototype.js)
ドキュメント中での選択範囲
どの辺りが選択されているかとか、選択範囲を操作したりするオブジェクトとしてIE系ではdocument.selection*1を使うけど、Firefox/Operaではwindow.getSelection()で返されるオブジェクトを使うらしい*2。以下、FirefoxとOperaのselectionオブジェクトのメンバーの例
*1:http://www.microsoft.com/JAPAN/developer/library/jpisdk/dhtml/references/objects/obj_selection.htm
*2:http://developer.mozilla.org/en/docs/DOM:window.getSelection