jQueryまたはプレーンJavascriptを使用してHTMLテーブルの列(または行)の一意のセルをカウントする簡単な方法はありますか?
例:(列が1つしかないテーブル)
melon
banana
melon
strawberry
カウンターは3になります。
jQueryまたはプレーンJavascriptを使用してHTMLテーブルの列(または行)の一意のセルをカウントする簡単な方法はありますか?
例:(列が1つしかないテーブル)
melon
banana
melon
strawberry
カウンターは3になります。
これを試して:
var a = {}, l = 0;
$('table tr td:first-child').each(function(){
if (!a[$(this).text()]) {
l++;
a[$(this).text()] = true;
}
});
alert(l);
HTMLの場合:
<table>
<tr><td>melon</td><td></td></tr>
<tr><td>banana</td><td></td></tr>
<tr><td>melon</td><td></td></tr>
<tr><td>strawberry</td><td></td></tr>
</table>
これは最初の列で機能します。2番目の列の値をカウントする場合は、セレクターtable tr td:first-child+td
、3番目table tr td:first-child+td+td
の列などを使用します。
実例: http: //jsfiddle.net/7K64j/1/
これを試して:
var matches = [];
$('table td').each(function() {
if(!$.inArray($(this).text(), matches)==-1) matches.push($(this).text());
});
alert(matches.length);