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

Почему не работает сортировка?

$(document).ready(function(){
document.querySelector('.increase').onclick = inCrease;
document.querySelector('.decrease').onclick = deCrease;
function inCrease(){
  let products = document.querySelector('.sorting');
  console.log(products);
  for (let i = 0; i < products.children.length; i++){
    for (let j = i; j < products.children.length; j++){
      if (+products.children[i].getAttribute('data-sort') > +products.children[j].getAttribute('data-sort')){
         replacedNode = products.replaceChild(products.children[j], products.children[i]);
         insertAfter(replacedNode, products.children[i]);
      }

    }
  }
}
function deCrease(){
  let products = document.querySelector('.sorting');
  console.log(products);
  for (let i = 0; i < products.children.length; i++){
    for (let j = i; j < products.children.length; j++){
      if (+products.children[i].getAttribute('data-sort') < +products.children[j].getAttribute('data-sort')){
         replacedNode = products.replaceChild(products.children[j], products.children[i]);
         insertAfter(replacedNode, products.children[i]);
      }

    }
  }
}

function insertAfter(elem, refElem){
  return refElem.parentNode.insertBefore(elem, refElem.nextSibiling);
}
});
            </script>

Написал вот такую сортировку по возрастанию и убыванию цены, присвоил класс sorting 5 дивам элементами(data-sort), но сотировка срабатывает только в первом див.Почему?
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что querySelector возвращает только первый элемент, подходящий под селектор.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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