0

重複の可能性:
jQuery OR Selector?

select一致したセットのそれぞれについて、次の行に沿ってoptionクラスまたは空の値を持つ最初のものを見つけたいと思いますplaceholder

$(selectorOrJquery).find('select').andSelf().filter('select')
  .find('(option.placeholder OR option[value=""]):first)

残念ながら、これは有効なシズル (または CSS3) 構文ではありません。セレクターでこれを行う有効な方法があるかどうかは誰にもわかりません。

明らかに、これを見つけるために手続き型のコードを書くことができますが、もう少し洗練されたものを望んでいます

編集: 明確にするために、コンマが単に機能するとは思いません。次のことを想像してください

<select>
  <option class="placeholder" value="0">Select Something</option>
  <option value="">Legitimate option that gets handled in JS</value>
</select>

この場合、両方ではなく、最初に選択したもののみが必要です

4

4 に答える 4

4

私も過去にこのような問題に遭遇し、このようなものに落ち着きました。

$(selectorOrJquery).find('select').andSelf().filter('select')
  .find('option.placeholder, option[value=""]').eq(0);
于 2011-09-28T15:43:46.013 に答える
1

これは、空であるか、クラスのプレースホルダーを持つ選択の最初のオプションを返します。

$("select option:first").filter(":empty,.placeholder")
于 2011-09-28T15:43:30.280 に答える
1

有効な CSS/jQuery セレクターであるコンマを使用するだけです。

$(selectorOrJquery).find('select').andSelf().filter('select')
  .find('(option.placeholder,  option[value=""]):first)
于 2011-09-28T15:43:40.623 に答える
1

CSS OR はカンマなので、必要なセレクターは次のようになります

'option.placeholder:first, option[value=""]:first'
于 2011-09-28T15:43:47.790 に答える