按值获取中间选项元素的选择器是
$('.selDiv option[value="SEL1"]')
对于索引:
$('.selDiv option:eq(1)')
对于已知文本:
$('.selDiv option:contains("Selection 1")')
EDIT:正如上面评论的那样,OP 可能是在更改下拉列表的选定项目之后。在 1.6 及更高版本中,建议使用 prop() 方法:
$('.selDiv option:eq(1)').prop('selected', true)
在旧版本中:
$('.selDiv option:eq(1)').attr('selected', 'selected')
EDIT2:在瑞安发表评论后。 “Selection 10”上的匹配可能是不需要的。我发现没有selector http://api.jquery.com/category/selectors/匹配全文,但是filter http://api.jquery.com/filter/ works:
$('.selDiv option')
.filter(function(i, e) { return $(e).text() == "Selection 1"})
EDIT3:谨慎使用$(e).text()
因为它可能包含换行符,导致比较失败。当选项隐式关闭时会发生这种情况(没有</option>
tag):
<select ...>
<option value="1">Selection 1
<option value="2">Selection 2
:
</select>
如果你只是使用e.text
任何额外的空格(例如尾随换行符)都将被删除,从而使比较更加稳健。