2012-01-09 14 views

答えて

2

であろうが、これを試してください: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を使用するなど

の作業例:http://jsfiddle.net/7K64j/1/

+0

+1この方法は、より効率的です1つは配列インデックスを使ってマッチングを行い、配列トラバーサルが不要になりました。 – techfoobar

+0

'innerText'は普遍的にサポートされていません。 –

+0

ありがとうLolo! – ana

2

これを試してみてください:

var matches = []; 
$('table td').each(function() { 
    if(!$.inArray($(this).text(), matches)==-1) matches.push($(this).text()); 
}); 
alert(matches.length); 
+0

ありがとうtechfoobar! – ana

関連する問題