为什么在 IE8 中不能取消选择多行选择框中的所有选项?
$("#myselect").children().removeAttr("selected");
有解决办法吗?我能想到的(attr("selected","") 等)似乎都不起作用。
更新:Here is an updated jsFiddle.我至少让它降级,以便在 IE8 中选择第一个选项。但是,如果没有 IE8 似乎需要的硬编码 selected='selected' 和 .attr 调用,它在 Firefox、Chrome 和 IE8 中会执行 3 种不同的操作! See this version: ,这很简单,看起来应该可以工作:
- 在 Firefox 中:未选择任何内容
- 在 Chrome 中:选择了第 0 个选项
- 在 IE8 中:选择第一个选项
也许我把自己逼疯了,在我看不到的地方有一个错误?
最佳答案
这个问题是以误导性的方式提出的。 “删除selected
属性”和“取消选择所有选项”是完全不同的事情。
要以记录的跨浏览器方式取消选择所有选项,请使用以下任一方法
$("select").val([]);
或
// Note the use of .prop instead of .attr
$("select option").prop("selected", false);
关于jquery删除选项的 "selected"属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7960773/