我们说我多次使用此表,我想计算每个表的第二个td tr:eq(0) td:eq(1)
,例如在这种情况下" adam" = 2。
<table>
<tr>
<td>#</td>
<td>adam</td>
<td>peter</td>
<td>danny</td>
<td>zack</td>
</tr>
</table>
<table>
<tr>
<td>#</td>
<td>adam</td>
<td>peter</td>
<td>danny</td>
<td>zack</td>
</tr>
</table>
你会怎么做?
答案 0 :(得分:3)
创建一个包含每个名称计数的对象:
var counts = {};
$('table tr td:nth-child(2)').each(function() {
var name = $(this).text();
if (name in counts) {
counts[name]++;
} else {
counts[name] = 1;
}
}
console.log(counts);
答案 1 :(得分:2)
您可以使用nth-child
选择器:
$('table tr td:nth-child(2)');
然后使用.each()
分别迭代它们:
$('table tr td:nth-child(2)').each(function(){
console.log($(this).text());
});
更新:查找长度
$('table tr td:nth-child(2)').length;
答案 2 :(得分:0)
这会让你算一算:
var list = '';
$('table:eq(0) td').each(function() {
list += $(this).text() + ":" + $('td:contains(' + $(this).text() + ')').length + "<br>"
});
$('h3').append(list);
结果:
#:2
adam:2
peter:2
danny:2
zack:2
请参阅下面的操作。
var list = '';
$('table:eq(0) td').each(function() {
list += $(this).text() + ":" + $('td:contains(' + $(this).text() + ')').length + "<br>"
});
$('h3').append(list);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td>#</td>
<td>adam</td>
<td>peter</td>
<td>danny</td>
<td>zack</td>
</tr>
</table>
<table>
<tr>
<td>#</td>
<td>adam</td>
<td>peter</td>
<td>danny</td>
<td>zack</td>
</tr>
</table>
<h3></h3>