<html>
<head>
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.js"></script>
</head>
<body>
<select id="s1">
<option value ="volvo">111</option>
<option value ="saab">222</option>
<option value="opel">333</option>
<option value="audi">444</option>
</select>
<script>
$("#s1").find("option[text='333']").attr('selected', true);
$("#s1").find("option").each(function(i, item) {
if((item.text) == '333') {
item.selected = true;
return;
}
})
</script>
</body>
</html>
目的是设置text等于333的为选中状态,网上前篇一律的都是这样说:$("#s1").find("option[text='333']").attr('selected', true);
但是我实际测试IE10,谷歌,火狐都不行,这样以来就比较蛋疼了。。
所以我还是老老实实的这样写:
$("#s1").find("option").each(function(i, item) {
if((item.text) == '333') {
item.selected = true; return;
}
})
都如果是value 还是可以的,$("#s1").find("option[value='XXX']").attr('selected', true);