获得div的实际高度加上css生成的内容(如果可能)

时间:2010-12-29 18:05:45

标签: javascript jquery

我正在尝试使用javascript来为嵌套在div中的三个UL设置一个等于其高度的负顶部位置。我已经有了它的工作,有点(感谢来自这里的帮助!)但是不是计算每个嵌套UL的高度并相应地计算顶部位置,而是为每个UL分配负顶部位置-367px:

<script type="text/javascript">
$(document).ready(function() {
    //Get height of footer popup
    var pHeight = $('footer ul li > ul').outerHeight(); 
    //Calculate new top position based on footer popup height
    var nHeight = pHeight + "px";         
    $('footer ul li > ul').css({ 
        //Change top position to equal height of footer popup
        'top' : "-" + nHeight    
    });
});
</script>

我使用.height.outerheight甚至.getheight尝试了这一点,有人在Jquery文档中提到了.height。我也试过使用每个声明,虽然它似乎没有用;我可能写错了。

另外(如果可能的话),我希望消极的位置考虑使用css :after伪造的属性生成的内容的高度,尽管我总是可以手动将其添加到计算如果javascript无法访问它。

编辑:添加了测试页链接。这是我试图用JS定位的底部div(和嵌套的UL);每个盒子上的“尾巴”应该排在他们父母div之上大约1.2em处。

http://www.qualityprinters2.com/test/float-tab-test.html

1 个答案:

答案 0 :(得分:1)

我认为你要找的是each()jquery函数(参见http://api.jquery.com/each/)。当你的选择者'footer ul li> ul'返回多个元素,它只计算第一个匹配元素的高度。