Я пытаюсь использовать .each() для запуска через DOM и создания нескольких переменных в зависимости от высоты определенного набора элементов. Скажем, ширина всех изображений в списке.Добавить несколько значений с .each()
В этом упрощенном примере я хочу добавить ширину к каждому элементу списка в неупорядоченном списке в зависимости от ширины изображения, которое удерживает элемент списка. Таким образом, ширина элемента списка будет равна ширине изображения внутри.
HTML
<ul>
<li><img src="image_01.jpg" width="100" /></li>
<li><img src="image_02.jpg" width="60" /></li>
<li><img src="image_03.jpg" width="220" /></li>
<li><img src="image_04.jpg" width="40" /></li>
</ul>
Jquery
var itemWidth = 0;
$('ul li img').each(function() {
var tmpWidth = $(this).width();
if (tmpWidth > itemWidth) {
itemWidth = (tmpWidth);
elemWidth = $('ul li').width();
$('ul li').css("width", itemWidth);
}
});
Сейчас он устанавливает ширину каждого элемента списка, но это установка их все равно наибольшему изображения в списке, а не установка каждого элемента списка с другой шириной, основанной на изображении внутри.
Нужно ли создать цикл for с массивом для хранения нескольких переменных, соответствующих каждой ширине?
вот пример на скрипке: http://jsfiddle.net/EBMM2/
проверить с помощью сценария http://jsfiddle.net/btYkH/ – ram2013
Пожалуйста, проверьте ваш вопрос перед отправкой, трудно ввести ответ, когда вы меняете его за это время ... –