隣り合う div の高さを同じにしたいページがあります。
私は次の機能を持っています:
function setProjectsHeight() {
var count = 0;
$(".project").each(function() {
if(count % 3 === 0) {
var highest = 0;
for(i=count;i<=count+2;i++) {
if($("div.project#"+i).height() > highest) {
highest = $("div.project#"+i).height();
}
}
console.log(highest);
}
count++;
});
}
どういうわけか、高さは常にゼロです。セレクターは正しいようです (テスト済み)。同じセレクターで幅を console.log() にすると、200 (正しい) が返されます。
編集:ちょうどそれを解決しました! どういうわけか、css で「body {display:none}」を設定し、document.ready() の最後でこのプロパティを「block」に戻すというアイデアがありました。これを行ったのは、jQuery UI ボタンを使用していて、ユーザーがそれらのボタンが通常のリンクから UI レイアウトに切り替わるのを見たからです。
この機能を削除すると、すべてが再び機能しました。setProjectsHeight() が呼び出されたとき、本体はまだ display:block だったようです。したがって、計算された高さはありませんでした。
ご協力いただきありがとうございます!