jQuery largeur, outerWidth(), innerWidth() pour retourner des données incorrectes

Pour une raison quelconque, je ne peux pas obtenir de jQuery pour me donner fiable des données de la largeur de divers éléments. Voici un lien vers un violon qui illustre le problème:
http://jsfiddle.net/snoopydaniels/ZDbaa/1/

Je cherche à créer un multidimensionnelle menu déroulant. Comme vous pouvez le voir dans le jsfiddle, la deuxième instruction de menu n'est pas correctement positionné. Le jQuery que j'utilise à la position qu'il interroge le frère d'ancrage de l'élément à l'aide de outerWidth() à la découverte de sa largeur, puis définir la position la plus à gauche de la liste imbriquée selon le retour de la largeur. Quand je donne le frère d'ancrage de l'élément une largeur définie dans le CSS puis-je obtenir quelque chose de proche de la valeur correcte, mais sans que la largeur statique, outerWidth() renvoie "2."

Mais même quand je donne d'ancrage des éléments d'un ensemble de largeur, outerWidth(true) ne fonctionne toujours pas correctement intégrer la frontière de l'élément.

Je suis sur le point de tirer mes cheveux. Pourquoi pas de la merde comme cela vient travailler comme annoncé?

OriginalL'auteur Daniel Arant | 2012-08-23