Задать вопрос
  • Как получить номер активного элемента?

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

    const parent = document.querySelector('.xlist');
    const className = 'active';
    const el = parent.querySelector(`:scope > .${className}`);

    Какие есть варианты получения индекса:

    const index = el ? [...parent.children].indexOf(el) : -1;

    или

    let index = -1;
    for (let n = el; n; n = n.previousElementSibling, index++) ;

    или

    const index = Array.prototype.findIndex.call(
      parent.children,
      n => n.classList.contains(className)
    );

    или

    const { children } = parent;
    let index = children.length;
    while (index-- && !children[index].matches(`.${className}`));
    Ответ написан
    1 комментарий