У меня есть проект CONTACO, я добавляю небольшой скрипт в и добавляю его на HTML-страницу.
Я пытаюсь отсортировать div по его содержанию.Все работает нормально, пока я не сравниваю содержимое обоих div и возвращаю -1 или 1. Я получаю эту ошибку
Uncaught SyntaxError: отсутствует) после списка аргументов
Это то, что я делаю
document.addEventListener("DOMContentLoaded", function(e) {
var lastTab = null;
var tabs = document.querySelectorAll('.tab');
var container = document.querySelector('.mod_article.first.last.block');
var htmlCollection = document.getElementsByClassName('item');
var type = ''
var items = Array.prototype.slice.call(htmlCollection)
// Click Events
tabs.forEach(tab => {
tab.addEventListener('click', ()=> {
type = tab.textContent.toLowerCase();
if(lastTab == null || lastTab != tab) {
lastTab = tab;
console.log('this clicked', tab);
// FIRST CLICK
// SORT A to Z
sortDivs(type, false);
}
else if(lastTab == tab) {
// SECOND CLICK
// SORT Z to A
sortDivs(type, true);
lastTab = null
}
}, false);
});
function sortDivs(type, reverse) {
console.log('Type ', type);
console.log('Reverse ',reverse)
items.sort(function(iA, iB) {
var a = iA.querySelector('.wrap.toggler').querySelector('.'+type);
var b = iB.querySelector('.wrap.toggler').querySelector('.'+type);
var sA = a.textContent;
var sB = b.textContent;
// ERROR HERE BELOW
if(sA < sB) {
return -1;
}
else {
return 1;
}
});
for(var item of items) {
container.append(item)
}
}
});
РЕШЕНИЕ: использование sA.localeCompare(sB)