Leg*_*ary 1 jquery attributes loops
我有一个<ul>列表,所有孩子<li>都有一个像这样大小的"自制"属性:
<ul class="container">
<li size="3"></li>
<li size="5"></li>
<li size="2"></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
如何获取所有子项的大小值然后将它们添加到,所以我最终得到一个等于(在这种情况下)10的变量?
孩子的size数量和数量是动态的,所以我猜我需要某种循环?
这是最简单的方法:
var sum = 0;
$('.container li').each(function() {
sum += +$(this).attr('size');
});
console.log(sum);
Run Code Online (Sandbox Code Playgroud)
对于现代浏览器,这是一种更复杂的方式:
var sum = $('.container li').map(function() {
return +$(this).attr('size');
}).get().reduce(function(a, b) {
return a + b;
});
console.log(sum);
Run Code Online (Sandbox Code Playgroud)