这是我的代码。
v=dom.find("ul:first").outerHeight(); // the height of the first li element
// instead of taking the height of the first li element, it should loop through all
// li elements and set v to the element with the biggest height
代码中间的注释几乎解释了一切。我需要循环遍历所有li元素并获取最大高度,而不是取第一个元素的高度。
答案 0 :(得分:3)
var v = 0;
// ...
dom.find('ul:first').children('li').each(function() {
var height = $(this).outerHeight();
v = height > v ? height : v;
});
答案 1 :(得分:1)
您可以使用jquery .each()方法遍历每个元素,使用.height()方法来确定元素的高度。确定最大高度,声明变量,maxheight = 0,如果元素高度大于maxheight,则将maxheight设置为元素高度。
var maxheight = 0;
$('ul').each(function(index) {
if($(this).outerHeight() > maxheight) maxheight = $(this).outerHeight();
});
答案 2 :(得分:0)
var el, max = 0;
$("ul").each(function(){
var height = $(this).outerHeight();
if (height > max) {
el = this;
max = height;
}
});
答案 3 :(得分:0)
var maxHeight = Math.apply(null, $('ul:first > li').map(function() {
return $(this).outerHeight();
}));
这也很有效,只是没有额外的变种。