【发布时间】:2013-10-18 04:46:06
【问题描述】:
我正在尝试根据列表中包含的标签数量动态地为子 A 标签提供均匀的宽度。 (例如,如果 4 个 A 的宽度均为 25%,则 3 个标签的宽度为 33%)。
我尝试计算 div 内的子项数并将 100 除以 var 数,但没有成功
jQuery
var numChildren = $("div a").size()
$('a').css({ width : 100/numChildren });
CSS
a { width: /*DYNAMIC*/ (all even) }
div {width: 100%; }
HTML
<div>
<a></a>
<a></a>
<a></a>
<a></a>
</div>
【问题讨论】:
-
"从 jQuery 1.8 开始不推荐使用 .size() 方法。改用 .length 属性。" - api.jquery.com/size
-
A 标记是内联元素。内联元素是其内容的宽度。您还需要将它们设为 inline-block 或 block。
-
是的,我让它们浮动,但是列表总是随着元素的数量而波动,因此我需要动态地为它们分配宽度以适应美学。为了简单起见,我放了最低限度的 CSS/HTML 来关注动态生成的宽度
-
100/numChildren 只是一个数字。你需要给它单位。
标签: javascript jquery css