• Как объединить несколько скриптов в 1?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Внутри каких элементов надо переключать класс, и что это за класс:

    const parentSelectors = [ '.maplabels', '#map' ];
    const activeClass = 'active';

    Вот jquery, как вы и хотели:

    $(document).on('click', parentSelectors.map(n => `${n} >`).join(','), e => {
      const index = $(e.currentTarget).index();
      parentSelectors.forEach(n => $(n)
        .children()
        .removeClass(activeClass)
        .eq(index)
        .addClass(activeClass)
      );
    });

    Или, к чёрту jquery:

    const parents = parentSelectors.map(n => document.querySelector(n));
    
    document.addEventListener('click', ({ target: t }) => {
      const parent = parents.find(n => n !== t && n.contains(t));
      if (parent) {
        const index = [...parent.children].findIndex(n => n.contains(t));
        for (const { children } of parents) {
          for (let i = 0; i < children.length; i++) {
            children[i].classList.toggle(activeClass, i === index);
          }
        }
      }
    });
    Ответ написан
    1 комментарий