JQuery. Как получить рост каждого брата? - PullRequest
5 голосов
/ 16 июля 2010

Я думаю, что это очень простой вопрос для тех, кто более опытен в Jquery.

например, у нас есть простая html-страница с несколькими div, и 3 из них имеют один и тот же класс css 'sidebar'

Каждый из этих div'ов 'sidebar' имеет разное содержимое и разную высоту.

Мне нужно сравнить эту высоту дивов и найти самую длинную.

Я знаю, как реализовать сравнение, но я не знаю, как в Jquery я могу взять каждый из этих дивов

для хранения их значения в vairable или массиве.

Ответы [ 3 ]

13 голосов
/ 16 июля 2010

Я не уверен, почему в двух опубликованных ответах используется jQuery.each(), а не просто прямой вызов each(), поэтому я рекомендую:

$('#elementID').siblings().each(function ()
{
    var height = $(this).height();
});

Чтобы поместить каждую высоту в массив:

var heights = [];
$('#elementID').siblings().each(function ()
{
   heights.push($(this).height());
});

Или просто используйте map():

var heights = $('#elementID').siblings().map(function ()
{
   return $(this).height();
}).get();
5 голосов
/ 16 июля 2010
$.each($('.sidebar'), function() {
    var height = $(this).height();
});
0 голосов
/ 16 июля 2010

Когда я должен был сделать то же самое, это код, который я использовал:

    var tabPanels = $("...");
    var maxHeight = 0;

    $.each(tabPanels, function() {
        var height = $(this).height();
        maxHeight = (height > maxHeight) ? height: maxHeight;
    });

    $.each(tabPanels, function() {
        $(this).css("height", maxHeight + "px");
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...