Wie kann ich WebKit zum Neuzeichnen / Aktualisieren zwingen, um Stiländerungen zu verbreiten?

Ich habe ein kleines JavaScript, um eine Stiländerung durchzuführen:

sel = document.getElementById('my_id');
sel.className = sel.className.replace(/item-[1-9]-selected/,'item-1-selected');
return false;

Dies funktioniert gut mit den neuesten Versionen von FF, Opera und IE, schlägt jedoch mit den neuesten Versionen von Chrome und Safari fehl.

s betrifft zwei Nachkommen, die Geschwister sind. Das erste Geschwister wird aktualisiert, das zweite jedoch nicht. Ein untergeordnetes Element des zweiten Elements hat ebenfalls den Fokus und enthält das <a> -Tag, das den obigen Code in einem @ enthä onclick attribute.

Im Chrome-Fenster "Developer Tools", wenn ich einen Anstoß mache (z. B. Deaktivieren und Überprüfen)irgendei Attribut vonirgendei element, das zweite Geschwisterelement wird auf den richtigen Stil aktualisiert.

Gibt es eine Problemumgehung, um WebKit einfach und programmgesteuert dazu zu bewegen, das Richtige zu tun?

Antworten auf die Frage(50)

Ihre Antwort auf die Frage