我想找出<li>
中li
最大高度的给定<li>
?
我怎么写这样的功能?
如果有不同大小,内容和高度的n <li>
个元素。我想弄清楚最大{{1}}元素的最大高度。
答案 0 :(得分:29)
试试这个:
var max = -1;
$("li").each(function() {
var h = $(this).height();
max = h > max ? h : max;
});
alert(max);
答案 1 :(得分:20)
如果你想要一个班轮
var max = Math.max.apply(Math, $("li").map(function() { return $(this).height(); }))
答案 2 :(得分:5)
var liMaxHeight = -1;
var node;
$("li").each(function(index) {
if ($(this).outerHeight() > liMaxHeight) {
liMaxHeight = $(this).outerHeight();
node = index;
}
});
alert("li with index " + node + " has height " + liMaxHeight);
.outerHeight()
包括填充和边框。如果不想包含填充和边框使用height()
答案 3 :(得分:0)
您将需要获取所有<li>
元素,并进行手动循环以将它们相互比较。
答案 4 :(得分:0)
var max = -1 , current = null ;
var li = null ;
$("li").each( function(i,node) {
if( ( current = $(this).height( ) ) > max ) max = current , li = node ;
} ) ;
这将一举给你节点及其高度
答案 5 :(得分:0)
这是一个解决方案。
我们将遍历元素并找到具有最高高度的元素。
我们可以使用jquery来轻松完成这项工作。
我们将再次循环并将所有元素设置为最大高度。
var heights = [];
$('.your-class-name').each(function () {
heights.push($(this).height());
});
var maxHeight = Math.max.apply(null, heights);
$('.your-class-name').each(function () {
$(this).height(maxHeight);
});
KABOOM。
答案 6 :(得分:0)
$.fn.equalHeightPlugin = function () {
var self = this;
return {
getMaxHeight: function () {
let max = 0;
self.each(function () {
if ($(this).height() > max) max = $(this).height();
})
return max;
},
setMaxHeight: function (botOffset) {
let _offSet_ = 0;
_offSet_ = (typeof arguments[0] === "undefined") ? 0 : botOffset;
self.height(this.getMaxHeight() + _offSet_);
}
}
}
您可以使用上述插件使所有选择的选择器具有相同的高度。
如果要为所有选择器设置最大高度,请调用插件:
var selector = $(".your-selector").equalHeightPlugin();
selector.setMaxHeight(offset);//you can have some pixels to adjust your height
如果要获得最大高度,只需执行以下操作:
selector.getMaxHeight();