@RushV

Как реализовать проверку существовании id?

Всех приветствую!
Есть группа id начинается "submenu-1", "submenu-24", "submenu-32" и.т.п.
Как написать проверку этих id ?
Если есть такие id то добавить класс top.
let subMenu = [...document.querySelectorAll($('#submenu-').click(function(){
        $(this).addClass('top');
        
    }))];
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
С разметкой из комментария к вопросу можно взять все ссылки внутри общего родителя:
const sample = 'submenu-';
const links = [...document.querySelectorAll('ul.navbar-main a')]
  .filter((a) => a.id.startsWith(sample));
console.log(links); // массив со ссылками

links.forEach((a) => a.addEventListener('click', (e) => e.target.classList.add('top'));


upd. как хорошо подсказал в комменте Fedor Vlasenko, можно элегантнее воспользоваться селектором, выбирающим элементы, чей атрибут начинается с указанной строки. a[id^=submenu] выберет те элементы anchor, у которых id начинается с "submenu":

[...document.querySelectorAll('ul.navbar-main a[id^=submenu]')]
  .forEach((a) => a.addEventListener('click', (e) => e.target.classList.add('top'));
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы