Задать вопрос
Cheizer
@Cheizer

Как в цикле получить ширину одних блоков и задать ее другим?

Приветствую, подскажите пожалуйста, как в цикле получив значение ширины одних элементов, сразу присвоить эти значения другим элементам?
Не сильно разбираюсь в js массивах, в цикле пройти и получить значения легко. Но вот как грамотно присвоить их другим блокам не знаю :(

Есть список с id #menu, и есть блок с id #submenu с вложенными списками.
Хочу ширину элементов #menu, присвоить спискам из контейнера #submenu.
Количество элементов и блоков одинаковое. Подскажите пожалуйста как это сделать?

Вот живой пример, ширину элементов первого списка получил, и вот как блокам ее присвоить во втором списке не понимаю.

  • Вопрос задан
  • 60 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Откуда брать ширину, кому её назначать:

const sourceSelector = '#menu a';
const targetSelector = '#submenu > ul';

Назначаем:

$source = $(sourceSelector);
$(targetSelector).width(i => $source.eq(i).width());

// или

document.querySelectorAll(targetSelector).forEach(function(n, i) {
  n.style.width = `${this[i].offsetWidth}px`;
}, document.querySelectorAll(sourceSelector));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы