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

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

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

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

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

  • Вопрос задан
  • 62 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Откуда брать ширину, кому её назначать:

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

Назначаем:

const $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));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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