我有一个<ul>列表,其中所有子元素<li>都具有这样的大小的“自制”属性:

<ul class="container">
    <li size="3"></li>
    <li size="5"></li>
    <li size="2"></li>
</ul>


如何获得所有子项的大小值,然后将它们相加,所以最终得到一个等于(在这种情况下)10的变量?
孩子的数量和size的数量是动态的,所以我猜我需要某种循环吗?

最佳答案

这是最简单的方法:

var sum = 0;

$('.container li').each(function() {
    sum += +$(this).attr('size');
});

console.log(sum);


对于现代浏览器,这是一种更复杂的方法:

var sum = $('.container li').map(function() {
    return +$(this).attr('size');
}).get().reduce(function(a, b) {
    return a + b;
});

console.log(sum);

关于jquery - jQuery添加子元素的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22037837/

10-11 22:24
查看更多