jsfiddle у вас немного грязный и не очень расширяемый. Я бы предложил использовать «ul» вместо «div», потому что он чище, и вы можете делать больше вещей с помощью CSS. Кроме того, я бы воздержался от использования слишком большого количества идентификаторов, так как это означает, что вы всегда должны обновлять их вручную.
Вот пример, который я собрал. Этот метод также поддерживает вложенные выпадающие списки (если вы их хотели).
http://jsfiddle.net/EYv9g/4/
Вы увидите «>» в CSS. Это действительно мощный селектор, который позволяет применять стили к элементу, являющемуся прямым потомком родителя, но не к элементам, расположенным ниже
Например:
ul.menu > li {background: yellow}
будет применяться к ...
<ul class="menu">
<li>me
<ul>
<li>but NOT me</li>
</ul>
<li><a>me</a>
<ul>