У меня есть сценарий равной высоты, который выполняется по вызову
$(".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(); но очень запутанная, любая помощь в решении этого будет замечательной! Спасибо заранее Джеймс
Так как все row1
, row2
элементы имеет класс item
использовать его
$(".grid-row > .item").equalCols();
Пытаться
$(".grid-row").children(':first-child').each(function () {
var row = this.className.match(/row\d+/)[0];
$('.' + row).equalCols()
});
вы можете использовать ниже код, который будет вызывать функцию 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' до максимальной высоты, которую вы хотите.