無料ブログ「rentafree.net」の管理人ブログ

table操作周りをまた修正しました

HTMLCollection使えばよりすっきりかけることに気づいたんで、tableリサイズ周りをまた修正しました。

ただ、W3Cの仕様書見ると列削除は、
deleteCell()
全行削除できそうなんですが、
FirefoxでdeleteCell()しても1行しか削除してくれなかったんで、
やっぱ全行チェックしないとダメぽい・・・

deleteRow()に関しても、
そもそもHTMLCollectionってのはrowspanに対応して無いようで使えなそう・・・
というか、それ考えると、deleteCell()もどっちにしろダメなのかな・・・

まあ、今までgetElementsByTagName('tr')したり、
<tr>内の子要素全部チェックしてたんですが、
HTMLCollectionのrowsとcellsで<tr><td><th>だけ抜けるらしい。
行番号なんかrowIndexで一発取得で、その分スッキリ。


あと、今まで<table>全体設定は<table>に対してやってましたが、
<thead>がある場合なんかは壊れちゃうと思うんで、
<tbody>がある場合は<tbody>だけを対象にするようにしました。
<thead>と<tfoot>は<table>設定で操作できないので手動編集の必要があります。