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

Какие аналоги в JS данных JQ выражений?

День добрый!

Подскажите какие аналоги данным выражениям из jQuery в javascript

$(this).parents('.portfolio')
$(this).parent('.portfolio')
$(this).children('.portfolio')
$(this).find('.portfolio')
$(this).next('.portfolio')


Что то сам туплю. Заранее спасибо!
  • Вопрос задан
  • 670 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
youmightnotneedjquery.com

UPD.

$(this).parents('.portfolio')

function parents(el, selector) {
  const p = [];
  while ((el = el.parentNode) !== document && el) {
    (!selector || el.matches(selector)) && p.push(el);
  }
  return p;
}

parents(this, '.portfolio')

$(this).parent('.portfolio')

this.parentNode.classList.contains('portfolio') ? this.parentNode : null

$(this).children('.portfolio')

[...this.children].filter(n => n.classList.contains('portfolio'))

// или

Array.prototype.filter.call(this.children, n => n.matches('.portfolio'))

// или

this.querySelectorAll(':scope > .portfolio')

$(this).find('.portfolio')

this.querySelectorAll('.portfolio')

$(this).next('.portfolio')

(el => el && el.matches('.portfolio') ? el : null)(this.nextElementSibling)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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