jQuery:在页面加载时设置自动高度

时间:2011-10-21 21:05:23

标签: javascript jquery

我需要将class标记内的<li>设置为自动高度/可调整为<li>,但CSS不可能height:auto;height:100%和其他选项)所以我尝试了jQuery,但我是新手,所以我尝试了迄今为止我学到的东西。
以下代码完全符合我的需要,但我无法想象如何在页面加载而不是.click函数上设置类的自动高度。请注意,我有许多不同大小的<li>代码,因此需要包含(this)

$j("#accordion ul li").click(function () { 
  var current = $j(this).height() - 2;
  $j(this).find(".status-green").attr("style","height:" + current + "px");
});

提前致谢

1 个答案:

答案 0 :(得分:1)

$j(function () {
    $('#accordion').find('.status-green').each(function (index, value) {
        var $value = $j(value),
            h      = $value.parents('li').height() - 2;
        $value.height(h);
    });
});

当DOM准备就绪时,这将查找并遍历.status-green元素中的每个#accordion元素($j(function(){});$j(document).ready(function(){});的简写)。

<强> - 更新 -

这更类似于您的代码:

$j(function ($) {
    $("#accordion").find('li').each(function (index, value) { 
        var $value  = $(value),
            current = $value.height() - 2;
        $value.find(".status-green").height(current);
    });
});

如果您在第一行中将$作为参数传递,则可以使用$()而不是$j()。如果只传递一个数字,.height()函数也会假设像素。