jQueryで要素の高さを自前で揃えてみる

jQuery
スポンサーリンク

jQueryで要素の高さを自前で揃えてみる

jQueryで要素の高さを揃える優秀なプラグインは非常にたくさんありますが、「使いたいのはここの要素だけだし、プラグイン入れるのめんどくさいな〜」という時がありますw
そこで、簡単な要素を揃えるjQueryコードを書いてみました。

コピペするコード

以下のコードをコピペして、揃えたい要素を指定すれば動きます。コピペする場所は、body閉じタグの上くらいでいいのではないでしょうか。上部分を外部ファイル化することで、プラグインにもなります。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
;(function($) {
$.fn.flat = function(){
    var h = 0;
    $(this).each(function(){
        if( h < $(this).height() ){
            h = $(this).height();
        }
    });
    $(this).height(h);
};
})(jQuery);

//sample1だけ高さを揃える
$('#sample1 li').flat();
</script>

コード一式

<!doctype html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>jQueryで要素の高さを揃える</title>
<style>
li{
    width: 60px;
    background-color: #ccc;
    float: left;
    list-style: none;
    margin-left: 10px;
    margin-bottom: 30px;
}
</style>
</head>
<body>
<ul id="sample1">
<li>文章文章文章文章文章</li>
<li>文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章</li>
<li>文章文章文章文章文章文章文章文章文章文章文章文章</li>
</ul>

<ul id="sample2">
<li>文章文章文章文章文章</li>
<li>文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章</li>
<li>文章文章文章文章文章文章文章文章文章文章文章文章</li>
</ul>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
;(function($) {
$.fn.flat = function(){
    var h = 0;
    $(this).each(function(){
        if( h < $(this).height() ){
            h = $(this).height();
        }
    });
    $(this).height(h);
};
})(jQuery);

//sample1だけ高さを揃える
$('#sample1 li').flat();
</script>
</body>
</html>

デモ

様々な条件でチェックしたわけではないので、上手く動作しない要素などもあるかもしれませんが、簡単に済ませたい場合はアリかもしれません。ご利用は自己責任にてどうぞ。