gpt4 book ai didi

javascript - jQuery 过滤器选择前两个,然后选择下两个

转载 作者:行者123 更新时间:2023-11-30 11:39:54 25 4
gpt4 key购买 nike

我有以下列表:

<li class="list one" data-number="2"></li>
<li class="list one" data-number="2"></li>
<li class="list two" data-number="3"></li>
<li class="list two" data-number="7"></li>

我需要将每个值从 data-number 属性传递给基于列表类的变量。

我有这些功能:

var list_one = 0;
var list_two = 0;

$(".one").each(function (i, val) {
var number = $(this).data('number')
list_one = list_one + parseInt(number); // Gives 4
});

$(".two").each(function (i, val) {
var number = $(this).data('number')
list_two = list_two + parseInt(number); // Gives 10
});

但是随着列表的增长,这会变成一个又长又乱的代码。从前两个 li 获取值,然后是下两个,等等并将总和传递给变量的最佳方法是什么?

列表将始终具有这种结构,所以我不需要考虑每个类的 li 数量会有所不同。

最佳答案

您可以获得一个求和值的对象:

var result = {};

$('.list').each(function(idx, ele) {
var key = ele.classList.toString().replace(/ /g, '_');
result[key] = (+result[key] || 0) + +ele.dataset["number"];
});

console.log(result);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<ul>
<li class="list one" data-number="2">one</li>
<li class="list one" data-number="2">one</li>
<li class="list two" data-number="3">two</li>
<li class="list two" data-number="7">tow</li>
</ul>

关于javascript - jQuery 过滤器选择前两个,然后选择下两个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43145810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com