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() メソッドで設定できなくなりました。それらには対応する属性がなく、単なるプロパティです。
プロパティは通常、シリアライズされた HTML 属性を変更することなく、DOM 要素の動的な状態に影響を与えます。例には、input 要素の value プロパティ、inputs とボタンの disabled プロパティ、またはチェックボックスの checked プロパティが含まれます。.attr() メソッドの代わりに、.prop() メソッドを使用して無効化およびチェックを設定する必要があります。値の取得と設定には .val() メソッドを使用する必要があります。
コード:
$("#my_select :contains('two')").prop("selected", true);
デモ: http://jsfiddle.net/IrvinDominin/3M9cC/5/