Задать вопрос
@bett22

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

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

[...e.parentNode.children].filter((child) => child !== e);
  • Вопрос задан
  • 163 просмотра
Подписаться 1 Простой 4 комментария
Решения вопроса 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
@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);
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 16:33
2000 руб./в час
18 дек. 2024, в 16:06
5000 руб./за проект
18 дек. 2024, в 16:03
45000 руб./за проект