Ответы пользователя по тегу JavaScript
  • Как получить элементы до ID или класса?

    @KaneUA
    Есть как минимум два способа это сделать

    1. Перебирать элементы от текущего и до начала родительского тега, используя свойство previousSibling. Ссылка на документацию в MDN.

    // Находим элемент с нужным id
    let currentElement = document.getElementById("item");
    // Создаём массив для элементов
    let allElements = [];
    // Пока у нас есть элемент, с которым можно работать, продолжаем это делать
    while(currentElement) {
       // Добавляем текущий элемент в массив
       allElements.push(currentElement);
       // Получаем предыдущий соседний элемент.
       // Если такого нет, то будет null и цикл прервётся
       currentElement = currentElement.previousSibling;
    }


    2. Найти родительский элемент и перебирать дочерние элементы, пока не найдём с нужным id. Документация на MDN по parentElement и children.

    // Элемент, от которого отталкивается
    let startingElement = document.getElementById("item");
    // Его родитель
    let parentElement = startingElement.parentElement;
    // Массив для элементов
    let allElements = [];
    // Перебираем дочерние элементы
    for(let i = 0; i < parentElement.children; i++) {
       // Добавляем перебираемый элемент в массив
       allElements.push(parentElement.children[i]);
       // Проверяем, соответствует ли id искомому
       if(parentElement.children[i].id === "item") {
          // Если да, прерываем цикл
          break;
       }
    }
    Ответ написан
    Комментировать