« 【JavaScript】リンクオブジェクトのhref参照時のブラウザ毎の振る舞いの違い | トップページ | 【JavaScript】IE6のString.split()の不具合と対策 »

2007/12/08

【JavaScript】IE6におけるtable要素の初期化

IE6では、HTMLで『<table></table>』とだけ記述したtable要素をJavaScriptで取得すると、なぜかtbody要素がデフォルトで入っています(document.createElement('table')で作成した場合は入りませんが)。
これは、『table要素内が空である』ということを前提にしてコーディングしようとした場合なんかは困ります。
それならばと、table要素を初期化するために『table.innerHTML=''』とかしてしまうと、『エラー:未知の実行時エラーです。』なんてわけのわからないエラーが発生してしまいます。
これでは、既存のテーブルを一旦初期化して書き替える、といったことをやろうとした場合にも困ってしまいます。
そこで、IE6でtable要素のinnerHTML部分を初期化するには、例えば、
function    clearTable(table) {
    var elm;
    while (elm=table.firstChild) table.removeChild(elm);
}
のような初期化用の関数を用意してやってコールする、といった工夫が必要になってきます。
なお、この関数自体はIE6に限らず使えると思います。また、table要素以外の初期化も可能と思われます。
【テーブル初期化サンプル】
table要素
下のボタンを押すと、テーブルが初期化されます。

【HTML】

ちなみに、これは『404 Blog Not Found:Google Code Chart - 折れ線グラフうぃざ~ど』を見ていて気がつきました。

« 【JavaScript】リンクオブジェクトのhref参照時のブラウザ毎の振る舞いの違い | トップページ | 【JavaScript】IE6のString.split()の不具合と対策 »

パソコン・インターネット」カテゴリの記事

覚書」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: 【JavaScript】IE6におけるtable要素の初期化:

« 【JavaScript】リンクオブジェクトのhref参照時のブラウザ毎の振る舞いの違い | トップページ | 【JavaScript】IE6のString.split()の不具合と対策 »

戻るリンク追加

カレンダー

2020年3月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

ココログカレンダーPlus(旧2)

検索


    • Web全体 サイト内
    • 蔵書のISBNを入力して下さい
    • はじめる前
      初級者向け
      上級者向け
      ブログ紹介
      結果を表示

コメントリストツリー化

無料ブログはココログ