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

Beitrag lesen

[latex]Mae  govannen![/latex]

Kein wirkliches Problem, eher Versuch der Zugriff-Optimierung:

Ich bastele gerade an meinem Javascript für dieses Forum herum, genauer gesagt mit XPath. Zwar scheint soweit alles wie gewünscht zu funktionieren, aber es kommt mir etwas umständlich vor. Da ich von XPath wenig Ahnung habe, frage ich daher nach, ob sich die Ausdrücke verbessern/vereinfachen lassen.

Mit...

/* Anzahl ungelesene Nachrichten */  
var msg_root = document.getElementById('root');  
if (msg_root) {  
  var ungelesene = msg_root.getNodesByXPath("descendant::ul/descendant::li[not(contains(@class, 'visited'))]");  
  var ug_count = ungelesene.length;  
}

(Ich habe getNodesByXPath aus molilys Foren-Script verwendet)

...hole ich mir die ungelesenen Beiträge.

Nun blende ich einen Link ein, der auf den _ersten_ ungelesenen Beitrag im letzen (d.h. am tiefsten auf der Seite stehenden) Thread verweist. In ungelesene[ug_count-1] finde ich den letzten ungelesenen Beitrag, daher hole ich mir mit ancestor::li[contains(@class,'thread-start')] den Knoten dieses Threads und gehe von da wieder abwärts, um den ersten ungelesenen Beitrag zu ermitteln:

var t = ungelesene[ug_count - 1].getNodesByXPath("ancestor::li[contains(@class,'thread-start')]/descendant::li[not(contains(@class, 'visited'))]/descendant::span[contains(@class, 'posting')]/descendant::a");

und erhalte damit auch den gewünschten Wert.

Da ich wie erwähnt noch nicht viel gexpatht ;) habe und meist zu umständlich denke, frage ich mal dumm, ob ich mein Ziel einfacher erreichen kann.

TIA && Cü,

Kai

--
„It's 106 miles to Chicago, we got a full tank of gas, half a pack of cigarettes, it's dark, and we're wearing sunglasses“.
„Hit it!“
Selfzeugs
SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?