¿Cómo puedo obligar a WebKit a volver a dibujar / repintar para propagar los cambios de estilo?

Tengo un JavaScript trivial para realizar un cambio de estilo:

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

Esto funciona bien con las últimas versiones de FF, Opera e IE, pero falla en las últimas versiones de Chrome y Safari.

Afecta a dos descendientes, que resultan ser hermanos. El primer hermano se actualiza, pero el segundo no. Un hijo del segundo elemento también tiene foco y contiene el<a> etiqueta que contiene el código anterior en unal hacer clic atributo.

En la ventana de "Herramientas para desarrolladores" de Chrome si empujo (por ejemplo, desmarcar y marcar)alguna atributo dealguna elemento, el segundo hermano se actualiza al estilo correcto.

¿Existe una solución para "empujar" WebKit de manera fácil y programática para que haga lo correcto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta