Thread Eingerückte hierarchische Liste (HTML) erzeugen
(9 answers)
Opened by GwenDragon at 2023-12-21 11:45
Wenn es bei der Anwendung um die aus einer HTML-Seite geparsten Heading-Elemente geht, dann verstehe ich auch das Beispiel: In HTML-Seiten schreiben die Autoren keineswegs ihre Überschriften-Level in einer sinnvollen Abfolge. Und manchmal findet man auch Sachen wie dieses:
Quote Das sieht zwar im Browser aus wie eine Uberschrift, ist aber keine. Da kann man dann auch bei der Erzeugung des Inhaltsverzeichnisses auf eine hierarchisch geschachtelte Liste verzichten und direkt per CSS so einrücken, wie's dem Level entspricht: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 use 5.024; use strict; use warnings; my @list_data = ( { indent => 0, text => "Test 1" }, { indent => 2, text => "Test 2" }, { indent => 1, text => "Test 3" }, { indent => 1, text => "Test 4" }, { indent => 3, text => "Test 5" }, ); my $html = q(<!DOCTYPE html>); for my $element (@list_data) { $html .= qq(<div style="padding-left:$element->{indent}em">$element->{text}</div>) } print $html; Von einer verschachtelten Liste hat man nur dann etwas, wenn man auf der DOM-Struktur weiterarbeitet und zum Beispiel per JavaScript die Einträge unter einem vorgegebenen Level oder Eintrag ausblendet. |