jQuery:获取每个元素的宽度并将它们相加

发布于 2024-11-07 07:05:56 字数 488 浏览 3 评论 0原文

如何获取每个元素的宽度并将它们相加?

例如,这是 HTML:

<div id="container">
<div class="block-item" style="width:10px"></div>
<div class="block-item" style="width:50px"></div>
<div class="block-item" style="width:90px"></div>
<div>

我可以考虑循环遍历每个元素,但如何对数字求和?

$('.block-item').each(function(index) {
    alert($(this).width());
});

我想获得 150 (10 + 50 + 90) 的总数

谢谢。

How can I get each element's width and sum them up?

For instance, here is the HTML:

<div id="container">
<div class="block-item" style="width:10px"></div>
<div class="block-item" style="width:50px"></div>
<div class="block-item" style="width:90px"></div>
<div>

I can think of looping through each element, but how do I sum the numbers up?

$('.block-item').each(function(index) {
    alert($(this).width());
});

I want to get the total number of 150 (10 + 50 + 90).

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

善良天后 2024-11-14 07:05:56

使用 parseInt(value, radix)

var totalWidth = 0;

$('.block-item').each(function(index) {
    totalWidth += parseInt($(this).width(), 10);
});

这是一个 小提琴示例

Use parseInt(value, radix):

var totalWidth = 0;

$('.block-item').each(function(index) {
    totalWidth += parseInt($(this).width(), 10);
});

Here's an example fiddle.

谎言 2024-11-14 07:05:56
var w = GetWidths('.block-item');

function GetWidths(id) {
    var i = 0;

    $(id).each(function (index) {
        i += parseInt($(this).width(), 10);
    });

    return i;
}
var w = GetWidths('.block-item');

function GetWidths(id) {
    var i = 0;

    $(id).each(function (index) {
        i += parseInt($(this).width(), 10);
    });

    return i;
}
烛影斜 2024-11-14 07:05:56

对于那些最近看到这个帖子的人:
您可以轻松使用 jQuery 地图

var y = $('.block-item').map( function() {
    return $(this).width();
}).get()
.reduce((partialSum, a) => partialSum + a, 0);
console.log(y)

for those people who have seen this thread recently:
you can use jQuery map with ease:

var y = $('.block-item').map( function() {
    return $(this).width();
}).get()
.reduce((partialSum, a) => partialSum + a, 0);
console.log(y)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文