molily: XPath -> Dieses Forum : Optimierung möglich?

Beitrag lesen

Unter anderem das, verbunden damit, daß ich dazu erst jQuerys Funktionen erlernen müste (...)

Die Selektion von Nodes mit Sizzle wirst Du nur dann erlernen müssen, wenn Du keine Ahnung von CSS hast. So kompliziert ist das nun auch wieder nicht - und so viel langsamer als eine xpath-Selection, die auf den langsameren Browsern ohnehin nicht nativ unterstützt wird, ebenfall nicht.

IE 8 kann glücklicherweise querySelectorAll. Damit können alle Browser in ihren neuesten Versionen QSA. Wenn man sich also ein Script schreibt, was nicht mit alten Browsern kompatibel sein muss (ich habe ja böserweise alle IEs in meinem Script ausgesperrt), dann kann man sehr einfache und performante Ansätze wählen.

Ich verwende XPath nur noch zur Abwärtskompatibilität und für Sachen wie ancestor::, was ich sonst wie Sizzle und Co. über das DOM machen müsste. (Mag sein, dass letzteres schneller ist, ich habe es noch nicht ausgiebig getestet. Abfragen wie hasClass sind halt ultralahm, weil noch kein Browser die entsprechende HTML-5-API kennt.)

Dass ich damals überhaupt XPath gewählt hatte hatte einfach den Grund, dass ich den Code nicht von einer 100-KB-Bibliothek abhängig machen wollte, es noch keine separaten Selector-Engines gab und XPath von allen Browsern außer IE unterstützt wurde.

Mathias