For some reason, I cannot get jQuery to give me reliable width data for various elements. Here is a link to a fiddle that demonstrates the problem:
I am attempting to create a multidimensional drop down menu. As you can see in the jsfiddle, the second nested menu is not positioned correctly. The jQuery that I employ to position it queries the sibling anchor element using
The various width commands don't work for hidden elements (
If you use css to set a width, jquery will return that. Otherwise you'll get no, or meaningless, results.
The classic solution is to position the element off the screen, check the width, then hide it and put it back. (You can probably find a jquery plugin that will do that in one command.)
Sometimes there are ways of restructuring the html and/or css so you avoid this.
Sometimes you can fix the size right after showing the element.
You can also try setting the
hidden, so the element gets a size, but is invisible. Depending on the your design this might work.