Wpis z mikrobloga

naskrobałem na szybko skrypt do sortowania po cenie na #triverna, bo ten portal jest o tyle dziwny że nie ma tej opcji domyślnie. Przykladowy link gdzie trzeba go odpalic w konsoli: https://triverna.pl/szukaj-hoteli?pobyt-od=05.07.2021&pobyt-do=11.07.2021&pokoje=1&dorosli=2


function dynamicSort(property) {
var sortOrder = 1;
if(property[0] === "-") {
sortOrder = -1;
property = property.substr(1);
}
return function (a,b) {
/* next line works with strings and numbers,
* and you may want to customize it to your needs
*/
var result = (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0;
return result * sortOrder;
}
}
rooms = [];
document.querySelectorAll(".search-results .main-offer-link").forEach(function(e,f){
elem = {}
elem.hotelId = e.parentNode.parentNode.parentNode.getAttribute("data-hotel-id")
elem.price = (e.querySelector(".price span").innerText.replace(" PLN",""))*1
elem.href = e.href
if(e.querySelector(".food")) elem.food = e.querySelector(".food").innerText
else elem.food = ""
rooms.push(elem);
})

rooms.sort(dynamicSort("price"));
elements = document.createDocumentFragment();
rooms.forEach(function(e,f){
DOM = document.querySelector("[data-hotel-id='" + e.hotelId + "']");
elements.appendChild(DOM.cloneNode(true))
//DOM.style.order = f
//DOM.style.flexDirection = "column"
})
document.querySelector(".search-results div").innerHTML = null;
document.querySelector(".search-results div").appendChild(elements);

#podroze #programowanie
  • 2
  • Odpowiedz