この記事では、jQueryのeach()メソッドを使ってページ内の指定された箇所にあるリスト(li)タグの要素数をカウントし、その結果を表示する方法について詳しく説明します。
簡単に実装できるように、CSS、HTML、JavaScriptのコードを具体例とともに紹介します。
CSSでのスタイル設定
まず、カウント結果を表示するためのスタイルを設定します。
以下のCSSコードは、リスト要素のカウント結果を表示するためのクラス(.clTxt)や全体のスタイル(.cWrap、.clLiWrap)を定義しています。必要に応じて、スタイルをカスタマイズしてください。
<style type="text/css">
<!--
.cWrap{
width:900px;
margin:0 auto;
}
.clLiWrap{
width:220px;
margin:0 auto;
text-align:left;
}
.clTxt{
font-weight:bold;
padding:5px 0;
}
-->
</style>
liタグの要素数をカウントするJavaScritpの記述
jQueryを使用するには、まずjQueryのライブラリをHTMLファイルに読み込む必要があります。
次に、jQueryの.each()を使ってliタグの要素数をカウントし、カウント結果を表示するためのJavaScriptコードを紹介します。以下のコードでは、ページ読み込み時にリスト要素の数をカウントし、指定した要素に表示します。
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript"><br />
<!--
$(function() {
var cnt=0;
$(".clLiWrap li").each(function() {
++cnt;
});
$(".clTxt").text("リストタグの要素数は"+cnt+"です。");
});
// -->
</script>
HTMLでの表示設定
最後に、リスト(li)タグとカウント結果を表示するためのHTMLコードを用意します。以下のHTMLコードでは、カウント結果を表示する要素(class=”clTxt”)とリスト要素を含むコンテナ(.clLiWrap)を設定しています。
<div class="clTxt"></div>
<div class="clLiWrap">
<ul>
<li><a href="https://dad-union.com/javascript/69">jQueryを使って複数画像をフェードインフェードアウトで切替表示</a></li>
<li><a href="https://dad-union.com/javascript/63">iscroll.js:スマホサイトで上下固定バーを実装してみる</a></li>
<li><a href="https://dad-union.com/javascript/75">マウスオーバー・アウトで画像サイズを伸縮表示して見る</a></li>
<li><a href="https://dad-union.com/javascript/60">jquery.jscrollpane.min.js:スクロールバーをカスタムするjs</a></li>
<li><a href="https://dad-union.com/javascript/57">getJSONでjson形式の配列情報を取得表示する方法</a></li>
</ul>
</div>
<!--/clLiWrap-->
jQueryのeachを使ってタグの要素数をカウント表示したページ
jQueryのeachを使ってタグの要素数をカウント表示したページデモ
リスト(li)タグだけでなく、繰り返しのタグ要素もカウントできそうです。
まとめ
以上のように、jQueryのeach()メソッドを使ってliタグの要素数をカウントし、その結果を表示する方法を紹介しました。この方法を応用すれば、リストタグ以外の要素数も簡単にカウントできます。
この記事で紹介したコードを基に、自分でカスタマイズしてみましょう。例えば、他のHTML要素をカウントしたり、カウント結果を別の方法で表示したりすることもできます。学んだ内容を実際のプロジェクトに応用することで、より深い理解が得られるでしょう。
※流用される場合は自己責任でお願いします。
デモページタグ内のGoogleアナリティクスタグは流用しないで下さい。