Normalerweise ist das ja garkein Problem, doch hier liegt der Fall anders, da mir durch die Design-Vorlage des Menüs vorgegeben wird ZWEI Listen-Hintergründe ("<li>") beim Überfahren eines Links innerhalb EINES Listen-Elementes zu ändern.
Sorry, mir ist nicht wirklich klar, was du vorhast. Bitte beschreibe es nochmal verständlicher.
Mit allergrößter Wahrscheinlichkeit ist ein Auslesen von Styles nicht nötig und dein jetziger Ansatz scheint mir nicht umständlich. Also beschreibe bitte genau, welches Verhalten gewünscht ist.
Soweit ich das verstehe:
Maus bewegt sich über die Fläche eines li-Elements.
Du willst diesem Element (oder seinem a-Kindelement - egal) irgendwelche Styles verpassen.
Okay, soweit kein Problem.
Jetzt willst du noch ein anderes li-Element ändern. Welches? In welchem Verhältnis stehen die beiden li-Elemente zueinander?
Deinem Code entnehme ich, dass es sich um das jeweils vorherie li-Element handelt, sofern das existiert.
Okay, kein Problem. Das ist mit Event-Handling und ganz einfachen DOM-Operationen möglich. Du musst im Event-Handler nur an das Element kommen, das die Maus gerade berührt hast. Das kannst du über this tun, falls du allen li-Elementen ein mouseover-Handler gibst. Mit Inline-JavaScript:
<li onmouseover="handler(this)">
function handler (liElement) {
alert(liElement.previousSibling); // Vorheriger Geschwisterknoten
// Kann ggf. ein Textknoten sein, wenn zwischen den li-Tags ein Zeilenumbruch steht, dann suchst du mit einer Schleife das vorherige li-Element, sofern existent
}
Bevor ich dir jetzt ein genaues Codebeispiel bastle, brauche ich erstmal dein Feedback.
Mathias