jQueryまたはプレーンなJavascriptを使用してHTMLテーブルの列(または行)の一意のセルを数える簡単な方法はありますか?Javascript/jQueryを使用してHTMLテーブルの列または行にある一意のセルをカウントする
例:(1列のみを持つテーブル)
melon
banana
melon
strawberry
カウンタが3
jQueryまたはプレーンなJavascriptを使用してHTMLテーブルの列(または行)の一意のセルを数える簡単な方法はありますか?Javascript/jQueryを使用してHTMLテーブルの列または行にある一意のセルをカウントする
例:(1列のみを持つテーブル)
melon
banana
melon
strawberry
カウンタが3
であろうが、これを試してください:HTMLについて
var a = {}, l = 0;
$('table tr td:first-child').each(function(){
if (!a[$(this).text()]) {
l++;
a[$(this).text()] = true;
}
});
alert(l);
:
<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+td
ため、セレクタtable tr td:first-child+td
を使用するなど
これを試してみてください:
var matches = [];
$('table td').each(function() {
if(!$.inArray($(this).text(), matches)==-1) matches.push($(this).text());
});
alert(matches.length);
ありがとうtechfoobar! – ana
+1この方法は、より効率的です1つは配列インデックスを使ってマッチングを行い、配列トラバーサルが不要になりました。 – techfoobar
'innerText'は普遍的にサポートされていません。 –
ありがとうLolo! – ana