Есть как минимум два способа это сделать
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;
}
}