Как добавить атрибут?
Мне нужно добавить к списку атрибут data-simplebar, чтобы получилось <ul class'sub-menu' data-simplebar></ul>
Патаюсь его добавить, но получаю data-simplebar="". Что я сделал не правильно?
document.addEventListener("DOMContentLoaded", () => {
let subMenu = document.querySelectorAll(".sub-menu");
for (items of subMenu) {
console.log(items);
items.toggleAttribute("data-simplebar");
}
});
Ответы (2 шт):
Автор решения: EzioMercer
→ Ссылка
- Либо setAttribute('data-simplebar', 'value'). Тут второй аргумент - это устанавливаемое значение для аттрибута
- Либо toggleAttribute('data-simplebar', true). При использовании этого метода у вас не будет значения у аттрибута, а просто появится аттрибут с пустым значением
Автор решения: Алексей Шиманский
→ Ссылка
Если говорить утрированно, то при for (items of subMenu) создаётся некая копия массива оригинала и изменения происходят в этом внутреннем массиве, но не в оригинале. Для решения проблемы можно:
- Использовать
for in ... - Использовать
subMenu.forEach((item, i)и внутри писатьsubMenu[i]