可能重复:
jQuery OR Selector?
我想为匹配集中的每个select
找到第一个option
,其中包含类placeholder
或空值
$(selectorOrJquery).find('select').andSelf().filter('select')
.find('(option.placeholder OR option[value=""]):first)
遗憾的是,这不是一个有效的sizzle(或CSS3)语法 - 任何人都知道是否有一种有效的方法可以用选择器执行此操作?
显然我可以编写程序代码来为我找到这个,但我希望有更多的东西
修改 为了澄清,我不认为逗号只是起作用。想象一下以下
<select>
<option class="placeholder" value="0">Select Something</option>
<option value="">Legitimate option that gets handled in JS</value>
</select>
在这种情况下,我只想要第一个被选中,而不是两个
答案 0 :(得分:4)
过去我也遇到过像这样的问题,并且已经解决了这个问题。
$(selectorOrJquery).find('select').andSelf().filter('select')
.find('option.placeholder, option[value=""]').eq(0);
答案 1 :(得分:1)
这将返回select的第一个选项,该选项为空或具有类占位符。
$("select option:first").filter(":empty,.placeholder")
答案 2 :(得分:1)
只需使用逗号,这是一个有效的CSS / jQuery选择器。
$(selectorOrJquery).find('select').andSelf().filter('select')
.find('(option.placeholder, option[value=""]):first)
答案 3 :(得分:1)
css OR是逗号,所以你想要的选择器是
'option.placeholder:first, option[value=""]:first'