示例页面:http://vincent-massaro.com/columns/columns.html
在此页面上,有两个有序列表,一个包含四个项目,另一个包含八个。我需要编写一个条件来检查每个有序列表中有多少列表项,如果它超过四个,则将它们分成列;如果少于四个,不要拆分成列。现在完成此任务的代码是:
$('。mcol',this).makeacolumnlists({cols:3,colWidth:0,equalHeight:'ul',startN:1});
提前致谢!
答案 0 :(得分:1)
使用$('li').size()
答案 1 :(得分:1)
如果您希望length
下的<li>
元素的<ol>
属性,则需要为每个 <ol>
分别获取该属性。< / p>
$('ol').each(function() {
$(this).children('li').length; // Gives you the number of <li>
// elements for the current <ol>
});
答案 2 :(得分:1)
一个很好的方法是使用自定义选择器。像这样:
$.expr[':'].hasmorethan4li = function(obj){
return $(obj).children('li').length > 4;
};
让您这样做:
$('ol:hasmorethan4li').makeacolumnlists(....);
<小时/> 更新:根据评论中的OP问题,这里是4到12项列表的选择器版本:
$.expr[':'].hasbetween4and12li = function(obj){
var len = $(obj).children('li').length; // so we only have to run this once
return len >= 4 && len <= 12;
};