jQueryで非表示かつ高さ指定のない要素の高さを取得する、なんかトリッキーな方法2011/9/28

昨日から2日連続jQuery漬けでして、お陰様で基本的な動きは大体できてきたんですが、ひとつ、jQueryで親要素の高さ指定をするんだけれども、その算出に、行数変わる子要素の高さを高さ指定できないからどう処理するか困ってたんです。当然、WordPressでの更新ベースなので。

html – jQuery: Get height of hidden element in jQuery 1.4.2 – Stack Overflow

$("#myDiv").css({'position':'absolute','visibility':'hidden','display':'block'});
optionHeight = $("#myDiv").height();
$("#myDiv").css({'position':'static','visibility':'visible','display':'none'});[/php]

うわあ、トリッキー、と思いつつ、やってみたら、高さが実寸と合わない。。。でよくよく考えたら、absoluteにしているわけだから、折り返し位置が変わってきちゃうんですね。というわけで上のコードであれば:

$("#myDiv").css({'position':'absolute','visibility':'hidden','display':'block'});
optionHeight = $("#myDiv").height();
$("#myDiv").css({'position':'static','visibility':'visible','display':'none','width':'表示域の横幅'});[/php]

みたいにしてやったら綺麗に高さ取れました!トリックにトリックを重ねた感じですが、まあこればかりはしゃあないですの。

jQuery、セレクターの使い方覚えるまでは試行錯誤の繰り返しでしたが、何とかモノになってきました(とは言え2日で200行くらい書いただけども)。まあただ、UI制御なんで、微調整が完了するにはこれからも山あり谷ありなんでしょうね。。。まあ覚えて、僕の仕事に120%損はしない話(というか初めてこういう分量あるjQuery書く仕事きたのは勉強には幸い)なので引き続き頑張ります。

ひとり仕事: フリーランスという働き方
(2012-10-5)
売り上げランキング: 14,705
100円
本格ビジネスサイトを作りながら学ぶ WordPressの教科書
プライム・ストラテジー株式会社
ソフトバンククリエイティブ
売り上げランキング: 5,208
WordPressプロフェッショナル養成読本 [Webサイト運用の現場で役立つ知識が満載! ] (Software Design plus)
高野直子 後藤賢司 染谷昌利 岡本雄樹 深海寛信 岡本 渉 松本悦宜
技術評論社
売り上げランキング: 24,886
いちばんやさしい WordPress の教本 人気講師が教える本格Webサイトの作り方
石川栄和 大串肇 星野邦敏
インプレスジャパン
売り上げランキング: 2,127