计算选择选项为easy
$('.myselect option').length;
但是有一个速记选择器可以过滤大小吗?例如做这样的事情?
$('.myselect').childCountBetween('option', 2, 4).hide();
即在所有.myselect
上使用2到4个选项运行jquery方法(在此实例中隐藏)。
编辑:澄清 - 我想要作为选择器根据子计数过滤“父”元素。即不想隐藏选项2-4,而是隐藏2到4项之间的选择字段。类似的任务是将一个类添加到具有2-4个LI的UL等。如果原始问题不明确,请抱歉。
答案 0 :(得分:3)
不确定这将是您正在寻找的解决方案,但应该适用于您所描述的内容......
$.fn.childCountBetween = function (child, min, max) {
return $(this).filter(function (id, el) {
var children = $(el).find(child).length;
return children > min && children < max;
});
};
$('.myselect').childCountBetween('option', 2, 4).hide();
答案 1 :(得分:0)
尝试使用slice()之类的,
$('.myselect option').slice( 2, 4 ).hide();
注意: IE 不允许您操纵option elements directly
。为此,您必须remove all
来自选择option elements
和repopulate
。{/ p>
答案 2 :(得分:-1)
您还可以使用jQuerys eq()函数查找特定索引。