Подтвердить что ты не робот

Функция Jquery для определения максимальной высоты <li>

Я хочу узнать, что из данного <li>, который li имеет максимальную высоту? как написать такую ​​функцию?

Если есть n <li> элементы разного размера, содержимого и высоты. Я хочу выяснить максимальную высоту самого большого элемента <li>.

4b9b3361

Ответ 1

Попробуйте следующее:

var max = -1;
$("li").each(function() {
    var h = $(this).height(); 
    max = h > max ? h : max;
});
alert(max);

Ответ 2

Если вам нужен один вкладыш

var max = Math.max.apply(Math, $("li").map(function() { return $(this).height(); }))

Ответ 3

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()

Ответ 4

вам нужно будет получить все элементы <li> и выполнить ручную петлю, чтобы сравнивать их друг с другом.

Ответ 5

var max = -1 , current = null ;
var li = null ;

$("li").each(  function(i,node) {
    if(  ( current = $(this).height( ) ) > max ) max = current , li = node ;
}  ) ;

Это даст вам node и его высоту одним махом

Ответ 6

Вот решение.

Мы будем перемещаться по элементам и находить ту, которая имеет высоту.

Мы можем использовать 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.