@bett22

Как получить соседние элементы?

Подскажите как можно по-другому записать эту запись?

[...e.parentNode.children].filter((child) => child !== e);
  • Вопрос задан
  • 127 просмотров
Решения вопроса 3
Mike_Ro
@Mike_Ro Куратор тега JavaScript
Python, JS, WordPress, SEO, Bots, Adversting
let children = Array.from(e.parentNode.children);
let index = children.indexOf(e);
if (index > -1) {
    children.splice(index, 1);
}
Ответ написан
Комментировать
@zkrvndm
Софт для автоматизации
Это нативный аналог jQuery метода siblings:
https://basicweb.ru/jquery/jquery_method_siblings.php
Находит все соседние (смежные) элементы, кроме самого элемента.
Ответ написан
Комментировать
@alexalexes
Если убрать синтаксический сахар, то получим такой код.
// [...e.parentNode.children] -- преобразуем коллекцию узлов children в массив
let child_count = e.parentNode.children.length;
let child_arr = [];
for(let i = 0; i < child_count; i++)
  child_arr.push(e.parentNode.children[i]);

// .filter((child) => child !== e) -- фильтруем детей, которые не относятся к текущему узлу

let filter_child_arr = [];
for(let i = 0; i < child_count; i++)
{
  let curr_child = e.parentNode.children[i];
  if(curr_child !== e)
    filter_child_arr.push(curr_child);
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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