【JavaScript】IE6におけるtable要素の初期化
IE6では、HTMLで『<table></table>』とだけ記述したtable要素をJavaScriptで取得すると、なぜかtbody要素がデフォルトで入っています(document.createElement('table')で作成した場合は入りませんが)。
これは、『table要素内が空である』ということを前提にしてコーディングしようとした場合なんかは困ります。
それならばと、table要素を初期化するために『table.innerHTML=''』とかしてしまうと、『エラー:未知の実行時エラーです。』なんてわけのわからないエラーが発生してしまいます。
これでは、既存のテーブルを一旦初期化して書き替える、といったことをやろうとした場合にも困ってしまいます。
これは、『table要素内が空である』ということを前提にしてコーディングしようとした場合なんかは困ります。
それならばと、table要素を初期化するために『table.innerHTML=''』とかしてしまうと、『エラー:未知の実行時エラーです。』なんてわけのわからないエラーが発生してしまいます。
これでは、既存のテーブルを一旦初期化して書き替える、といったことをやろうとした場合にも困ってしまいます。
そこで、IE6でtable要素のinnerHTML部分を初期化するには、例えば、
function clearTable(table) {
var elm;
while (elm=table.firstChild) table.removeChild(elm);
}
のような初期化用の関数を用意してやってコールする、といった工夫が必要になってきます。var elm;
while (elm=table.firstChild) table.removeChild(elm);
}
なお、この関数自体はIE6に限らず使えると思います。また、table要素以外の初期化も可能と思われます。
【テーブル初期化サンプル】
table要素 |
---|
下のボタンを押すと、テーブルが初期化されます。 |
ちなみに、これは『404 Blog Not Found:Google Code Chart - 折れ線グラフうぃざ~ど』を見ていて気がつきました。
« 【JavaScript】リンクオブジェクトのhref参照時のブラウザ毎の振る舞いの違い | トップページ | 【JavaScript】IE6のString.split()の不具合と対策 »
「パソコン・インターネット」カテゴリの記事
- Twitter 原寸びゅー:PC版ブラウザ用・Twitterの画像閲覧と保存がはかどる拡張機能の紹介(2016.02.12)
- スマートフォンをPC上の音楽を再生するためのリモコンとして使いたい(2016.01.10)
- BIGLOBE光ネクスト(大阪)の通信速度問題 - プロバイダ選びは難しい……(2015.08.13)
- BOOK☆WALKER さんに関して最近経験した不安と不満(2015.08.10)
- 『#鳥獣戯画制作キット』が楽しい(2015.07.01)
「覚書」カテゴリの記事
- 鍛高譚 ~ カレイにまつわる物語(2018.05.25)
- ココログをTwitterカードに対応させてみる(2016.11.23)
- 神使の兎 ~宇治神社にて~(2016.07.10)
- Twitter 原寸びゅー:PC版ブラウザ用・Twitterの画像閲覧と保存がはかどる拡張機能の紹介(2016.02.12)
- スマートフォンをPC上の音楽を再生するためのリモコンとして使いたい(2016.01.10)
« 【JavaScript】リンクオブジェクトのhref参照時のブラウザ毎の振る舞いの違い | トップページ | 【JavaScript】IE6のString.split()の不具合と対策 »
コメント