请看一下示例:http://jsfiddle.net/HHDpK/1/
如您所见,两个选择器之间的区别仅在于行
$("#chooser-1 .y").removeAttr("selected");
但是结果是它们的状态不同(尤其是在Chrome中)。
我是否缺少任何东西,或者是一个错误?
最佳答案
看起来像带有属性的jQuery的内部错误。
请注意,在旧版本中,在1.6版本中引入.prop()
之前,它为works as expected。
在较新的版本中,只需使用.prop()
处理元素的此类属性:
$("#chooser-1 .x").prop("selected", "selected");
$("#chooser-1 .y").removeProp("selected");
jsFiddle update。
不仅如此-在先前使用
.removeProp("selected")
选中的元素上使用prop()
会导致原始选择返回,而不是未选择任何内容-理想行为。