Panda Noir

JavaScript の限界を究めるブログです。

DLタグのテーブル問題

DLタグを使うとテーブルタグなしでテーブルを作れます。

(作り方は今回の本題ではないので気になる方は調べてください)

しかし、このDLテーブル、問題があるのです。

例えば

A B

という項目があったとします。

Bが2行になると、自然とAも2行になります。

しかし、Aが2行になってもBは1行のままです。

これはとても困るので、Aが高かった場合、Bに揃えるようにしました。

しかし、とても困ったことになってしまいました。

なんと、jQueryで取得した高さが0だったのです!

しかも、ほかの要素を取得してみるときちんと取得できました。

じゃあなんで取得できないんだと、コンソールからアラートに変えてみました。

※よいこはまねしないでね。

アラートにするとそのタイミング(?)で止まります。

そしてOKを押すまでそのままなのです。

そしたら、なんと表示されていませんでした。

どういうことかと調べてみると、そのDLテーブルはタブの中にあり、タブを非表示(hidden)にしたあとに取得していたのです。

ないはずのものを取得しようとしていたので当然といえば当然の結果なのですが…

みなさんも何か取得できないものがあったらdisplay:hiddenになっていないか調べてみましょう。

(これが原因なんてことは滅多にないとおもいますが)