sytle=display: で inline block 以外にも色々使い方があることを知った・・・。
クリックしたら、テーブルの一行が非表示になって、もう一度クリックしたら、非表示にされた行が表示されるものを作りたかった。
単純だと思ったら、意外とはまったので、メモ。
javascript の問題だと思っていたら、style の問題だった・・・orz
<table> <tr> <td>test</td> <td>test</td> <td>test</td> </tr> <tr id="test" style="display:none"> <td>test</td> <td>test</td> <td>test</td> </tr> </table>
こんなテーブル構造があって、id="test"の部分を表示/非表示に切り替えるだけの簡単な処理。
何の苦労もないと思ったら、苦労があった。
非表示にするまでは問題ない。
これを、表示するために、最初はこうやっていた
※ちなみに無駄に jQuery
$("#test").attr("style","display:block");
これだと、テーブル構造が壊れてしまうのだ・・・orz
$("#test").attr("style","display:inline");
これもダメ。
仕方がないので、改めて style="display" を勉強しなおした。(最初から勉強せぇ)
すると、display には色々なパターンがあることを知った
display−スタイルシートリファレンス
- none
- block
- inline
- list-item
- marker
- compact
- table
- inline-table
- table-caption
- table-row
- table-cell
- table-column
- table-row-group
- table-column-group
- table-header-group
- table-footer-group
わぁお!
$("#test").attr("style","display:table-row");
ってことで、これで解決した。
勉強になりましたm(_ _)m