1

選択肢の数え方は簡単

$('.myselect option').length;

しかし、サイズをフィルタリングする簡略セレクターはありますか? たとえば、このようなことをするには?

$('.myselect').childCountBetween('option', 2, 4).hide();

.myselectつまり、2 ~ 4 個のオプションを使用して、すべての で jquery メソッド (このインスタンスでは非表示) を実行します。

編集:明確にするために-子の数に基づいて「親」要素をフィルタリングするセレクターとして必要です。つまり、オプション 2 ~ 4 を非表示にするのではなく、2 ~ 4 項目の選択フィールドを非表示にします。同様のタスクは、2 ~ 4 個の LI を持つ UL にクラスを追加することなどです。元の質問があいまいでしたら申し訳ありません。

4

3 に答える 3

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();
于 2013-11-07T04:43:44.553 に答える
0

のようにslice()を使用してみてください。

$('.myselect option').slice( 2, 4 ).hide();

: IEでは操作できませんoption elements directly。このためにremove alloption elements、選択したものとrepopulateそれらを選択する必要があります。

于 2013-11-07T04:34:57.933 に答える
-1

jQuerys eq() 関数を使用して特定のインデックスを見つけることもできます。

http://api.jquery.com/eq/

于 2013-11-07T04:35:43.520 に答える