Равная высота на динамически добавляемых классах

0

У меня есть сценарий равной высоты, который выполняется по вызову

$(".row1").equalCols();
$(".row2").equalCols();

отметка

    <div class="grid">
    <div class="grid-row">
    <div class="item row1"></div>
<div class="item row1"></div>
    </div>
    <div class="grid-row">
    <div class="item row2"></div>
<div class="item row2"></div>
    </div>
    </div>

Это может иметь бесконечное количество строк сетки и для каждой новой строки сетки cms увеличивает число, добавленное к классу строк.

Я не хочу добавлять $ (". RowX"). EqualCols(); вызывает функцию doc.ready - я пытался найти класс, начинающийся с строки, и прокручивать все их в вызове равной высоты - что-то вроде $ (". row [x]"). equalCols(); но очень запутанная, любая помощь в решении этого будет замечательной! Спасибо заранее Джеймс

Теги:

2 ответа

0
Лучший ответ

Так как все row1, row2 элементы имеет класс item использовать его

$(".grid-row > .item").equalCols();

Пытаться

$(".grid-row").children(':first-child').each(function () {
    var row = this.className.match(/row\d+/)[0];
    $('.' + row).equalCols()
});
  • 0
    это не совсем работает, и это плохо, что я не объяснил правильно - мне нужно установить высоту для элементов в каждой строке сетки. это решение устанавливает одинаковую высоту для всех элементов на странице (высота берется из самого высокого элемента)
  • 0
    @ user3218750 в этом случае попробуйте
Показать ещё 1 комментарий
0

вы можете использовать ниже код, который будет вызывать функцию equalCols для всех элементов, начинающих класс с строки eg - row1, row2....

$('[class^="row"]').each(function(index)
{
   equalcols();
});

Здесь внутри функции вы можете иметь экземпляр каждого div, который может быть передан вашей вызывающей функции, как указано в нижеследующем примере

$('[class^="row"]').each(function(index)
{
       equalcols(this);//here 'this' is the instance of current div
});

function equalcols(divInstance)
{
  $(divInstance).css('height',maxHeight);
}

Это установит высоту каждого div с классом = 'rowX' до максимальной высоты, которую вы хотите.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню