Hi,
Wieso sollte ein Parent Selector die Performance beeinträchtigen? Ab und zu wird von einem Aufwand O(n*n) gesprochen, ich jedoch erkenne nur ein O(1), zumal die maximale Zahl von Eltern eines Elements recht statisch ist. Ein Vorfahren-Selektor benötigt IMHO O(n), wobei dieses n tendenziell eher klein ist, wenn man es mit dem Nachfahren-Selektor vergleicht. Auch finde ich das o.g. "CSS processing model" nirgendwo - möglicherweise werden meine Fragen dort geklärt, daher wäre ich über einen Link dankbar.
Es kommt immer drauf an, von welcher Seite man das betrachtet.
Nimmt man einen Selektor und sucht dazu die passenden Elemente?
Oder hat man ein Element und sucht dazu die passenden Rulesets/Selektoren?
Wenn ich einen Browser implementieren würde, würde ich eher nach der zweiten Version vorgehen:
Um die Elemente darzustellen, durchlaufe ich den DOM-Baum.
Bei jedem Knoten == Element gucke ich, welche Selektoren darauf zutreffen, um die Darstellung des Elements zu regeln.
Mit den bisherigen Selektoren brauche ich dazu nur das Wissen über das Element selbst sowie dessen Vorfahren bis zum Root-Element *).
Diese Information liegt mir bereits vor, da ich ja im DOM-Baum über diese Vorfahren-Elemente gewandert bin, um zum aktuellen Element zu gelangen.
Mit einem Vorfahren-Selektor würde sich das ändern - ich bräuchte auch Informationen über die Kinder, Enkel, Urenkel, sprich: alle Elemente unterhalb des aktuellen Knotens.
*) sowie ggf. noch die Geschwister auf den Ebenen vom aktuellen Element bis hoch zum Root-Element.
cu,
Andreas
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.