如果你No wrap - <in body>
在 jsfiddle 上设置,你的演示就可以工作......:http: //jsfiddle.net/IrvinDominin/3M9cC/8/
一个更清洁的解决方案是使用prop
而不是attr
,我认为first
在这种情况下是没用的,所以你可以省略它。
快速参考:
.prop() 方法是设置属性值的便捷方法——尤其是在设置多个属性、使用函数返回的值或同时设置多个元素的值时。在设置 selectedIndex、tagName、nodeName、nodeType、ownerDocument、defaultChecked 或 defaultSelected 时应使用它。从 jQuery 1.6 开始,这些属性不能再用 .attr() 方法设置。它们没有对应的属性,只是属性。
属性通常会影响 DOM 元素的动态状态,而不会更改序列化的 HTML 属性。示例包括输入元素的 value 属性、输入和按钮的 disabled 属性或复选框的 checked 属性。应该使用 .prop() 方法来设置禁用和检查,而不是 .attr() 方法。.val() 方法应该用于获取和设置值。
代码:
$("#my_select :contains('two')").prop("selected", true);
演示:http: //jsfiddle.net/IrvinDominin/3M9cC/5/