Я хочу узнать, что из данного <li>
, который li
имеет максимальную высоту?
как написать такую функцию?
Если есть n <li>
элементы разного размера, содержимого и высоты. Я хочу выяснить максимальную высоту самого большого элемента <li>
.
Я хочу узнать, что из данного <li>
, который li
имеет максимальную высоту?
как написать такую функцию?
Если есть n <li>
элементы разного размера, содержимого и высоты. Я хочу выяснить максимальную высоту самого большого элемента <li>
.
Попробуйте следующее:
var max = -1;
$("li").each(function() {
var h = $(this).height();
max = h > max ? h : max;
});
alert(max);
Если вам нужен один вкладыш
var max = Math.max.apply(Math, $("li").map(function() { return $(this).height(); }))
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);
Демо: http://jsfiddle.net/QUycm/
.outerHeight()
включает прописку и границу. Если вы не хотите включать дополнение и использование границ height()
вам нужно будет получить все элементы <li>
и выполнить ручную петлю, чтобы сравнивать их друг с другом.
var max = -1 , current = null ;
var li = null ;
$("li").each( function(i,node) {
if( ( current = $(this).height( ) ) > max ) max = current , li = node ;
} ) ;
Это даст вам node и его высоту одним махом
Вот решение.
Мы будем перемещаться по элементам и находить ту, которая имеет высоту.
Мы можем использовать 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.