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

Выбрать первый и последний элемент класса?

Здравствуйте. Как на чистом JS выбрать первый и последний элемент который относиться к класcа

SLIM:
ul
      li One
      li.active Two
      li.active Three
      li Four


Нужно выбрать вторую и третью li

window.onload = () => {
  const first = document.querySelector('.active:first-of-type');
  console.log(first);
};


Можно конечно перебором, или может есть более оптимальное решение
window.onload = () => {
   const all = document.querySelectorAll('.active');
  const first = all[1];
  const last = all[all.length-1];
  console.log(first, last);
};
  • Вопрос задан
  • 394 просмотра
Пригласить эксперта
Ответы на вопрос 1
lazalu68
@lazalu68
Salmon
На stackoverflow ни до чего умнее вытягивания первого и последнего элементов не додумались:

function firstAndLast( selector, context ) {
	selector = typeof selector === 'string' ? selector.trim() : null;
	if (!selector) throw new Error('Invalid selector!');

	if (arguments.length === 1) {
		context = document;
	} else {
		if (!(context.querySelectorAll)) throw new Error('Invalid context!');
	}

	var all = context.querySelectorAll(selector);

	return [ all[0], all[all.length - 1] ];
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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