你如何在jQuery中选择SELECT元素中的特定选项?
通过选项值获取中间选项元素的选择器为
$('.selDiv option[value="SEL1"]')
对于索引:
$('.selDiv option:eq(1)')
对于已知文本:
$('.selDiv option:contains("Selection 1")')
编辑:如前面的评论所述,OP可能想要更改下拉列表的选定项。在1.6版本及更高版本中,推荐使用prop()方法:
$('.selDiv option:eq(1)').prop('selected', true)
在旧版本中:
$('.selDiv option:eq(1)').attr('selected', 'selected')
编辑2:根据Ryan的评论。针对“Selection 10”的匹配可能是不想要的。我没有找到匹配完整文本的选择器,但使用过滤器可以解决:
$('.selDiv option') .filter(function(i, e) { return $(e).text() == "Selection 1"})
编辑3:使用$(e).text()
要小心,因为它可能包含换行符,从而导致比较失败。当选项隐式关闭(没有标记)时会发生这种情况:
如果只使用e.text
,任何额外的空格(如尾随换行符)都将被删除,从而使比较更为稳健。