<body>
<div id="ModuleDiv"></div>
</body>
<script>
ModuleDiv.innerHTML = "...."
alert(ModuleDiv.offsetHeight)
</script>我这样输出是18

解决方案 »

  1.   

    原来是我用XSL转换XML数据成HTML后就赋给ModuleDiv.innerHTML
    ModuleDiv.innerHTML = formatXmlForIE(objXML,1,'test.xsl')
    这样ModuleDiv是有内容, 但高度却为0的, 真奇怪, 不知那里出问题了, function formatXmlForIE(objXML,pId,pXslFile)
    {
    var xsl = new ActiveXObject("MSXML2.DOMDocument.3.0");
    xsl.async = false;
    xsl.load(pXslFile);
    var patternString = "//config";
    var selectedNodes = objXML.selectNodes(patternString);
    var bookHolder = objXML.createNode(1,"column","");
    for (var n=0; n< selectedNodes.length; n++)
    bookHolder.insertBefore(selectedNodes.item(n).cloneNode(true),null);
    return bookHolder.transformNode(xsl);
    }