我需要将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");
});
提前致谢
答案 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()
函数也会假设像素。