gpt4 book ai didi

javascript - Jquery对具有特定attr值的所有元素的值求和

转载 作者:行者123 更新时间:2023-11-29 10:42:59 25 4
gpt4 key购买 nike

我有这个简短的菜单:

<ul>
<li class="voucher">
Holidays (<span data="0" class="counter" id="119">0</span>)
<ul id="menu2">
<li class="voucher">
Travel deals (<span data="119" class="counter" id="123">1</span>)
</li>
<li class="voucher">
Hotel offers (<span data="119" class="counter" id="120">2</span>)
</li>
<li class="voucher">
Villas offers(<span data="119" class="counter" id="121">1</span>)
</li>
</ul>
</li>
</ul>

这个 js 必须收集 () 中的所有子类别值,并将该总和添加为主要类别假期的 (value):

var sum = 0;
$('.counter').each(function () {
var counter = $(this).html();
var id = $(this).attr('id');
if (counter == 0) {
// here I want to find and sum all values in ( ) for span that has attr data equal to 119 which is the id of the main category Holidays
sum += parseInt($('span').find("[data='" + id + "']").html(), 10) || 0;
alert(sum);
//here I want the sum of all subcategories -Holidays ( 4 )
$(this).html(sum);
}
});

但它不起作用.. 没有错误,只是总和不正确并始终返回 0如果您对 JS 没问题,请帮忙解决这个问题,

这是 jsfiddle: http://jsfiddle.net/europe77/w1uL5a8o/1/

最佳答案

您正试图通过 span 对象中的数据属性查找。您需要使用:

parseInt($("span[data='" + id + "']").html());

还有其他问题需要解决。这是完整的工作代码:

var sum = 0;
$('.counter').each(function () {
var counter = $(this).html();
var id = $(this).attr('id');
sum += parseInt($(this).html(), 10) || 0;
});
alert(sum);
$('.counter:eq(0)').html(sum);

Working Demo

关于javascript - Jquery对具有特定attr值的所有元素的值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25186043/

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