Pourquoi jquery return 0 pour un offsetHeight quand firebug dit que c'est du 34?

Donc, j'ai un div dont le contenu est généré lors de l'exécution au départ, il n'a pas de hauteur associée. Quand il est générée en fonction de firebug et de ce que je peux alerte js la div a encore une hauteur de 0. Cependant, en regardant les propriétés en lecture seule avec firebug je vois qu'il a un décalage de la hauteur de 34. C'est cette valeur que j'ai besoin. J'espère que c'est évident, mais dans le cas où il n'est pas le cas, ce nombre est variable, il n'est pas toujours 38.

Alors, j'ai pensé que je pourrais obtenir juste que, ce faisant, via jquery...

$("#parentDiv").attr('offsetHeight');

ou ce droit js...

document.getElementById("parentDiv").offsetHeight;

Mais tout ce qui est renvoyé est 0. A-t-elle quelque chose à voir avec le fait que compenser la hauteur est une propriété en lecture seule dans ce cas? Comment puis-je obtenir cette hauteur? Je veux dire firebug est en train de comprendre d'une certaine manière donc il semble que je devrais être en mesure de.

Edit:
Voici un échantillon de ce que la div ressemble maintenant...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Strict//EN"><META http-equiv="Content-Type" content="text/html; charset=utf-8">

<HTML style="OVERFLOW: hidden; HEIGHT: 100%" xmlns="http://www.w3.org/1999/xhtml"><BODY><FORM id="aspnetForm" name="aspnetForm" action="blah.aspx" method="post"><DIV id="container">

<DIV id="ctl00_BodyContentPlaceHolder_Navigation" style="Z-INDEX: 1; LEFT: 1597px; POSITION: absolute; TOP: 67px">
    <DIV class="TransparentBg" id="TransparentDiv" style="MARGIN-TOP: 10px; MARGIN-RIGHT: 10px; HEIGHT: 94px; TEXT-ALIGN: center">
    </DIV>
    <DIV class="Foreground" id="ForegroundId" style="MARGIN-TOP: 10px; MARGIN-RIGHT: 10px; TEXT-ALIGN: center">
        <DIV id="ctl00_BodyContentPlaceHolder_Navigation1" style="WIDTH: 52px; COLOR: black; HEIGHT: 52px; BACKGROUND-COLOR: transparent; -moz-user-focus: normal">
            <IMG style="FILTER: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod = scale src='../images/image.gif'); CURSOR: pointer" height="52" hspace="0" src="..." width="52" /> 
        </DIV>
        <DIV id="ctl00_BodyContentPlaceHolder_UserControl" name="ctl00_BodyContentPlaceHolder_UserControl">
            <IMG style="DISPLAY: block; VERTICAL-ALIGN: bottom; CURSOR: pointer" height="17" src="..." width="16" />
            <IMG style="VERTICAL-ALIGN: top; CURSOR: pointer" height="17" src="..." width="16" />
        </DIV>
    </DIV>
</DIV>

</DIV></FORM></BODY></HTML>

Ce code est généré par un contrôle dans une bibliothèque séparée. Voici donc le code de la créer dans mon .page aspx.

<blah:blahControl ID="control" runat="server" />

Ok, c'est légèrement modifiée, mais ça c'est un tout HTML beaucoup plus que ce que j'avais avant. La div je faisais allusion à "parentDiv" avant est appelé "ctl00_BodyContentPlaceHolder_Usercontrol" là-haut. Ce code comprend la div en question, c'est de la fratrie, parents, grands-parents et les enfants. C'est presque une copie directe de firebug.

mise à Jour:
Je devrais avoir mentionné cela est fait dans IE 7. Il semblait bien fonctionner une fois dans Firefox, mais il est de retour 0 maintenant. Est-ce à fournir toutes les nouvelles idées de contournement possible ou quoi que ce soit?

... Vous tous devez penser que je suis folle.

mise à Jour:
Certains style...

.TransparentBg 
{
    background-color: white;
    filter:alpha(opacity=50);
    -moz-opacity:0.5;
    -khtml-opacity: 0.5;
    opacity: 0.5;
}

.Foreground
{
    position: absolute;
    top: 0px;
}
Ce doit être marqué, en vertu de dom. Il n'a rien à voir avec jQuery comme vous-même souligné.
Accusé de réception. Lettres majuscules FTL!
Je ne sais pas où j'ai dit qu'il n'a rien à voir avec jQuery. Je ne sais pas ce qu'il a à faire avec, c'est mon problème, je vais jeter les dom tag sur là-bas si vous le souhaitez. Les bouchons sont générés, ce n'est pas mon fait.

OriginalL'auteur |