请看一下示例: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()会导致原始选择返回,而不是未选择任何内容-理想行为。

09-26 23:07
查看更多