Mam to, co moim zdaniem powinno być prostym pytaniem; pozwól mi szybko wyjaśnić:Jak mogę zmienić kolejność/sortować NodeList w JavaScript?
W moim JavaScript, food.xml
jest odczytywany z:
getMenuXml.open("GET","food.xml",false);
getMenuXml.send();
xmlDoc=getMenuXml.responseXML;
xmlFoodList = xmlDoc.getElementsByTagName("food");
tak, że teraz mam NodeList xmlFoodList
ze wszystkimi elementami spożywczych. Świetne do tej pory. Problem polega na tym, że chcę posortować węzły na podstawie elementu <category>
w środku. Czytam, że z:
xmlFoodList[i].getElementsByTagName("category")[0].childNodes[0].nodeValue
Później w kodzie, że produkty żywnościowe są wyświetlane na liście, a jak można się spodziewać, chcę jedzenie z tej samej kategorii powinny być wymienione razem. Moje pytanie brzmi: Jak mogę zmienić kolejność węzłów w xmlFoodList
na podstawie ich kategorii?
Uwagi: Nie można zmienić food.xml
wchodzącej i nie chcę edytować mojego późniejszego kodu, aby przeprowadzić sortowanie w miarę zapełniania listy. Nie chcę konwertować NodeList do tablicy, ponieważ musiałbym przepisać dużo późniejszego kodu. Wydajność nie jest tak naprawdę niepokojąca, więc możesz swobodnie klonować/zagnieżdżać pętlę, ile tylko chcesz. Dziękuję za Twój czas.
Nie ma zbyt wiele na temat jej sortowania. – lisak