Javascript 选择多个元素高度();

Javascript 选择多个元素高度();,javascript,jquery,Javascript,Jquery,我只是想知道为什么这个jQuery不起作用: hdr = $('.header-wrapper, #top-bar, #new-showroom-header').height(); 如你所见,我试图得到多个元素的高度,并将它们全部存储在我的变量中。我希望jQuery将所有元素的高度加在一起以创建一个最终值,但是当我将console.log变量hdr记录下来时,我会得到所选第一个元素的高度 你知道如何选择全部并将它们存储到我的var中吗?使用$.each()来获得高度的总和 var hdr =

我只是想知道为什么这个jQuery不起作用:

hdr = $('.header-wrapper, #top-bar, #new-showroom-header').height();
如你所见,我试图得到多个元素的高度,并将它们全部存储在我的变量中。我希望jQuery将所有元素的高度加在一起以创建一个最终值,但是当我将console.log变量hdr记录下来时,我会得到所选第一个元素的高度

你知道如何选择全部并将它们存储到我的var中吗?

使用
$.each()
来获得高度的总和

var hdr = 0;
$('.header-wrapper, #top-bar, #new-showroom-header').each(function () {
    hdr += $(this).height();
});

不,您不能使用.height()获取所有元素的高度;功能 首先在集合中应用$.each()循环,然后可以逐个获得高度 下面的代码可以帮助您

$.each($('.header-wrapper, #top-bar, #new-showroom-header'),function(ind,item){
 var Height = $(item).height();
});

您可以为此场景编写jQuery插件。:)

下面的代码将根据提供的选择器返回高度数组

[20,30,80]
jQuery插件
(函数($){
$.fn.heights=函数(){
返回此.map(函数(){
返回$(this.height();
}).toArray();
};
}(jQuery));
var heights=$('.header wrapper,#顶部栏,#新展厅header').heights();
document.body.innerHTML=JSON.stringify(高度);//[20,30,80]
body{font-family:monospace;white-space:pre;}
.header包装器{高度:20px;}
#顶杆{高度:30px;}
#新展厅标题{高度:80px;}

请查看演示。让我知道你的意见。