2016-10-23 8 views
0

私はjQueryを使用しており、select要素のグループをservoSelectsに保存しています。それらの中には "lgServo"というクラスがあり、そうでないものもあります。そのクラスを持つもののうち、インデックス0と〜変数〜の間のすべてのオプションを削除したいと思います。私はこれを行う方法を理解していません。複数の選択タグ内のオプションの範囲を削除できません

servoSelects.filter('.lgServo').find('option:gt(0)').remove('lt:variable'); 

このコード行は機能しませんが、私が望むものに近いですか?

+0

あなたの質問には、**実行可能で更新してください** [MCVE]スタックスニペットを使用して問題を実証します( '< > 'ツールバーボタン)。これは、人々があなたの質問をよりよく理解するのを助け、問題解決の答えを示すのに役立ちます。 –

答えて

2

私はこれを行う方法を理解していません。

文字列連結:

servoSelects.filter('.lgServo').find('option:gt(0):lt(' + variable = ')'); 
// --------------------------------------------------^^^^^^^^^^^^^^^^^^^ 

または多分slice

servoSelects.filter('.lgServo').find('option').slice(0, variable).remove(); 
+0

私はslice()がgt():lt()よりもずっと効率が良いと聞いています。 2番目の例は素晴らしく見えますが、最初のselect要素でのみ動作し、2番目のselect要素では動作しません。どのように私はそれをすべての選択要素で動作させることができますか? – user1592980

+0

@ user1592980:複数の選択肢がある場合、最初のバージョンが必要になるか、 '.find( 'option')を実行する選択肢に' each'ループを実行する必要があります。 。 –

+0

優れたソリューション。あなたのお時間をありがとうございました、T.J.クラウダー。 – user1592980

関連する問題