jquery - 你能找到一个属性的不同值的数量吗?查询?

标签 jquery html

假设我有这样的结构:

<div class='collection'>
    <div class='item' seq=1>foo</div>
    <div class='item' seq=2>bar</div>
    <div class='item' seq=2>baz</div>
    <div class='item' seq=2>asd</div>
    <div class='item' seq=3>que</div>
    <div class='item' seq=3>bletch</div>
</div>

很容易得到 seq=1、seq=2 等的项数。但是如何找到 seq 不同值的个数,以及这些值是什么?可以安全地假设 seq 的值将从 1 开始,然后增加 1,直到没有更多值为止。

最佳答案

您可以在对象中累积属性值及其计数:

var totals = {};
$(".collection > .item").each(function() {
    var seq = $(this).attr("seq");
    var total = totals[seq] || 0;
    totals[seq] = total + 1;
});

当上面的代码运行时,你应该有一个像这样的对象:

{
    "1": 1,
    "2": 3,
    "3": 2
}

关于jquery - 你能找到一个属性的不同值的数量吗?查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15342674/

相关文章:

javascript - 根据我的指令,如何在父作用域上手动触发摘要周期?

php - fatal error : Call to a member function pg_fetch_object()

jquery - 在标签内的跨度上添加/删除类

html - 我怎样才能使我的转换保持在事件链接上?

html - 正确显示自动完成下拉列表的问题

Javascript 在表单提交到选项卡上输入

javascript - 用于通过 AJAX 提交表单的 jQuery?

javascript - 在另一个 View 中渲染表单,表单未显示

javascript - 需要 JQUERY Ajax 我的多维 JSON 的帮助

javascript - 从 ajax 获取数据到 mvc 操作