Я пытаюсь создать выравниватель высоты столбца, который работает, если он является единственным экземпляром на странице, но если есть более одного экземпляра, скрипт, похоже, игнорирует $(this)
в each(){function
.
Вот HTML:
<div class="equalizer" data-cols="2">
<div class="equalized ">Content</div>
<div class="equalized ">Content</div>
<div class="equalized ">Content</div>
<div class="equalized ">Content</div>
</div>
И JQuery:
$(".equalizer").each(function() {
var colClass = 'eq-col-'+$(this).data("cols");
var height = parseInt($(this).css('height'));
$(this).children().each(function() {
$(this).css('height',height + 'px');
$(this).addClass(colClass);
});
});
Это линия, которая, как представляется, быть игнорировать более, что в одном случае: var height = parseInt($(this).css('height'));
Это универсальные идентификаторы, чтобы получить высота обертки .equalizer
для этого экземпляра, которая, в свою очередь, устанавливается как высота для каждого ребенка equalized
.
Похоже, что сценарий приобретает высоту от самой высокой обертки equalizer
на странице и устанавливает высоту для всех детей equalized
на странице, равной этой высоте, независимо от того, в какой оболочке она находится ... Я был возиться с этим в течение нескольких часов и я в растерянности ... любая помощь была бы весьма признательна.
так что вы зацикливание на '.equalizer' получить' высоту .equalized', а затем применить его к 'детей .equalized' в ? –
Я вызываю каждый экземпляр 'эквалайзера', затем приобретая его высоту для этого экземпляра, а затем применяя его высоту к каждому из своих дочерних элементов' equalized' – petebolduc
, попробуйте выполнить console.log(), если '$ (this)' имеет значение и не возвращая ни слова или ничего. –