在我的每个函数中,我从 div 中提取文本,将其作为类添加到父元素,然后我需要计算有多少元素具有该类。问题出现是因为它在我的每个函数内部,因为它会递增计数,而不是只给我总数。
你可以在我的 fiddle 中看到输出是1231211,而我想要得到的是3211。
我的 HTML
<div class="parent">
<div class="nid">asdf</div>
</div>
<div class="parent">
<div class="nid">asdf</div>
</div>
<div class="parent">
<div class="nid">asdf</div>
</div>
<div class="parent">
<div class="nid">qwerty</div>
</div>
<div class="parent">
<div class="nid">qwerty</div>
</div>
<div class="parent">
<div class="nid">zxcv</div>
</div>
<div class="parent">
<div class="nid">ghjk</div>
</div>
<div class="numbers">
</div>
我的 jQuery
$(".nid").each(function() {
var nid = $(this).text();
$(this).parent().addClass(nid);
var nidCount = $(".parent."+nid).length;
$('.numbers').append(nidCount);
});
最佳答案
尝试
var counter = {};
$(".nid").each(function() {
var text = $(this).text();
var count = counter[text] || 0;
counter[text] = count + 1;
});
$.each(counter, function(key, value){
$('.numbers').append(value);
})
演示:Fiddle
关于jquery - 如何计算每个函数内元素的总数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16683243/