bogdan_uman
@bogdan_uman
шлЫмазл неукЪ-поцЪ

На ванильном JS соседние элементы (siblings)?

Здравствуйте. Как на ванильном JS вывести список соседних элементов, выбранных по селектору. Сделать аналог Jquery.siblings('selector')? Вот как реализовано у меня, но может есть более красивое решение?

class my {

  constructor(selector) {
    elements = document.querySelectorAll(selector);
    this._objs = elements;
    return this;
  };

  siblings(selector) {
    let elements = [];

    if ( this._objs.length > 0 ) {
      let obj = this._objs[0];

      obj.parentNode.querySelectorAll( selector ).forEach( (elem) => {
        if (elem !== obj ) elements.push( elem );
      } );
    };

    this._objs_old = this._objs;
    this._objs = elements;
    return this;
  };

};
  • Вопрос задан
  • 4374 просмотра
Пригласить эксперта
Ответы на вопрос 2
alex-1917
@alex-1917
Если ответ помог, отметь решением
Просто выбрать соседние элементы - теоретическая задача,
на практике надо что-то сделать с этими соседями (Земфира)
for (let sibling of element.parentNode.children) {
      sibling.classList.remove('act');
}
Ответ написан
Комментировать
var siblings = element.parentNode.querySelectorAll(%selector%);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы