Как вывести несколько элементов, исключив выбранный?

Добрый день. Есть список, например, из шести элементов.
По клику на какой-нибудь элемент нужно вывести в консоль три первых элемента списка. Однако если элемент, на котором произошел клик, входит в эту первую тройку, то его надо пропустить и вывести следующий за ним. Как это можно сделать?
  • Вопрос задан
  • 175 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
В обработчике клика получаете элементы списка, отбрасываете кликнутый (или получаете соседей кликнутого); из полученного набора берёте первые сколько вам надо элементов. Как-то так:

<div id="list">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
  <div class="item">4</div>
  <div class="item">5</div>
  <div class="item">6</div>
<div>

$('#list').on('click', '.item', function() {
  const $items = $('#list .item').not(this);
  // или
  // const $items = $(this).siblings();

  console.log($items.slice(0, 3).get().map(n => n.innerText).join(', '));
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Krasnodar_etc
@Krasnodar_etc
fundraiseup
Запишите выбранный элемент в переменную. При выводе проверяйте, совпадает ли выбранный элемент и выводимый

Набросок:
var self = $(this);
array.forEach(function(element){
if (element !== self){
// ваш код вывода
}
})


А вообще для таких целей удобно юзать дата-атрибуты
Ответ написан
Ваш ответ на вопрос

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

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