I created this fiddle to illustrate my problem: http://jsfiddle.net/AVxbd/
I have a menu (#container), with some links (#text1, #text2). I made a #highlighter element to highlight the link of the page the person is on a specific moment. The HTML:
<div id="container">
    <div id="highlighter"></div>
    <div id="text1">Text 1</div><div id="text2">Text 2</div>
</div>
The JavaScript:
$('#highlighter')
    .offset($('#text1').offset())
    .width($('#text1').width()
);
$('#text1, #text2').click(function(){
    $('#highlighter').animate({
        top: $(this).offset().top,
        left: $(this).offset().left,
        width: $(this).width() + "px"
    },300);
});
The problem is that the #highlighter element is displayed over the #text1 and #text2 elements. That's not what I want!
I tried to solve this with the z-index:
#container {     z-index: 1; }
#highlighter {   z-index: 2; }
#text1, #text2 { z-index: 3; }
However, that doesn't work, as you can see in the fiddle.
How can I get this to work? I want to let it look like the #text1 and #text2 element have an orange background, but because I want the highlighter to animate in width and position, I can't just give those elements a background themselves.
 
     
    