请查看示例:http://jsfiddle.net/HHDpK/1/
如您所见,两个选择器之间的区别仅在于
行$("#chooser-1 .y").removeAttr("selected");
但结果他们的状态不同(特别是在Chrome中)。 我错过了什么,或者它是一个错误?
答案 0 :(得分:6)
看起来像带有属性的jQuery的内部错误。
请注意,在旧版本中,在1.6版本中引入.prop()
之前,works as expected。
在较新的版本中,只需使用.prop()
来处理元素的这些属性:
$("#chooser-1 .x").prop("selected", "selected");
$("#chooser-1 .y").removeProp("selected");
不仅如此 - 在先前使用.removeProp("selected")
选择的元素上使用prop()
将导致原始选择返回而不是没有选择任何内容 - 理想行为。
答案 1 :(得分:3)
我发现上面的答案也失败了,我不得不将道具设置为假,以使所选项目不成为。
$("#chooser-1 .x").prop("selected", false);
removeProp会导致不良后果,例如无法再次重新选择这些选项。
我使用jquery 1.6.2