我在数组中有三个jQuery对象,如下所示:
<div class="object"></div>
<div class="object"></div>
<div class="object"></div>
<script>
var arr = $('.object');
</script>
我想使用$.map()
找到每个高度并将它们存储在一个数组中,如下所示:
var arrElHeights = $.map(arr, function(a){
return a.height();
});
我将如何做到这一点?我应该通过另一种方法迭代吗?
答案 0 :(得分:2)
你有正确的想法。问题是高度不是一个功能。你想要做的是获得元素的clientHeight。尝试这样的事情:
var arrElHeights = $.map(arr, function(a){
return a.clientHeight;
});
以下是关于clientHeight的一些信息:https://developer.mozilla.org/en-US/docs/Web/API/Element/clientHeight
以及offsetHeight上的文档:https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetHeight
Jquery .height()不包含填充
答案 1 :(得分:1)
更多详情
a
不是jQuery
个对象,您可以尝试$(a).height()
或a.clientHeight
或a.offsetHeight
,甚至a.scrollHeight
。< / p>
clientHeight
包括高度和垂直填充。
offsetHeight
包括高度,垂直填充和垂直边框。
scrollHeight
包含所包含文档的高度(在滚动时大于高度),垂直填充和垂直边框。
我认为当您加入jQuery
时,您应该在所有代码中使用它。