jquery - 如何计算每个函数内元素的总数?

标签 jquery

在我的每个函数中,我从 div 中提取文本,将其作为类添加到父元素,然后我需要计算有多少元素具有该类。问题出现是因为它在我的每个函数内部,因为它会递增计数,而不是只给我总数。

你可以在我的 fiddle 中看到输出是1231211,而我想要得到的是3211。

My Fiddle

我的 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/

相关文章:

Jquery 自动完成 JSON 从 Web 服务返回结果,但它没有显示在下拉列表中

javascript - 尝试使用 Javascript 的替换字符串使脚本正常工作

javascript - Jquery 遍历表格并突出显示已更改的单元格

javascript - 修改 John Resig 的微模板引擎以替换 "new Fun"或 "eval"

javascript - 用jquery修改后续下拉列表

javascript - jQuery 在变量中搜索文本?

javascript - 有没有支持循环的jquery选择器?

javascript - jquery 的 find 方法不适用于 html 字符串来提取一部分 - Jquery

javascript - CarouFredSel - 关闭无限滚动?

javascript - 如何使用 AJAX 将 SELECT 元素发送到服务器