如果您知道索引、值或文本。另外,如果您没有直接引用的ID
这个,这个和这个都是有用的答案
示例标记
<;div class=“selDiv”>;
<;选择class=“opts”>;
<;选项选择值=“默认值”>;违约</选项>;
<;选项值=“SEL1”>;选择1</选项>;
<;选项值=“SEL2”>;选择2</选项>;
</选择>;
</部门>;
通过值获取中间选项元素的选择器为
$('.selDiv选项[value=“SEL1”]”)
对于索引:
$('.selDiv选项:等式(1)'))
对于已知文本:
$('.selDiv选项:包含(“选择1”))
编辑:如上所述,OP可能是在更改下拉列表中的选定项之后进行的。在1.6版及更高版本中,建议使用prop()方法:
$('.selDiv选项:等式(1)').prop('selected',true)
在旧版本中:
$('.selDiv选项:等式(1)').attr('selected','selected'))
EDIT2:在Ryan的评论之后。“选择10”上的匹配可能不需要。我找不到与全文匹配的选择器,但过滤器可以工作:
$('.selDiv选项')
.filter(函数(i,e){return$(e).text()==“Selection 1”})
EDIT3:请小心使用$(e).text(),因为它可能包含使比较失败的换行符。当选项隐式关闭时(无<;/option>;标记),会发生这种情况:
<;选择…>;
<;选项值=“1”>;选择1
<;选项值=“2”>;选择2
:
</选择>;
如果只使用e.text,任何额外的空格(如尾随的换行符)都将被删除,从而使比较更加可靠