Hallo Linuchs,
Zwischenüberschriften wie F G H I J verschwinden
natürlich verschwinden die. Sie haben keine Seitenangabe, führen also alle zum gleichen Key "x" und überschreiben sich damit in der entries-Tabelle. Nur die letzte bleibt übrig. Von Zwischenüberschriften war in der Aufgabenstellung keine Rede.
Durch das Wegfallen von 4 Zwischenüberschriften ist die entries-Liste dann zu klein und die Liste wird nicht komplett überschrieben.
Du könntest etwas hexen und im Fall einer leeren Zwischenüberschrift einen Schlüssel "yn" setzen, mit einem fortlaufenden n. Damit bleiben die Einträge für Zwischenüberschriften eindeutig und gehen nicht verloren. Für die ANZEIGE musst Du dann noch erreichen, dass bei einer Sortierung nach Seite die <li>, die einen y-Schlüssel bekommen, versteckt werden. Bei einer Sortierung nach Titel blendest Du alle wieder ein.
Alternatives Vorgehen: Du könntest Du vom Server aus eine Javascript-Tabelle schicken, die die Inhaltsverzeichnis-Einträge enthält, und die Sortierung basierend auf dieser Tabelle ausführen. Die initiale Darstellung setzt Du entweder im ready-Handler der Seite (Sortieren nach Titel im DOMContentLoaded Event) oder schickst sie vom Server gleich mit. Je nach dem, ob nach Titel oder Seitenzahl sortiert wird, kommen Zwischenüberschriften hinein oder nicht. Und statt die <li> zu überschreiben, müsstest Du dann die <li> komplett aus der Liste löschen und neu einfügen. Dann sollte es passen.
Rolf
sumpsi - posui - clusi