jquery删除选项的 "selected"属性?

标签 jquery internet-explorer

为什么在 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/

相关文章:

javascript - 与今天的日期相比,日期对象似乎不准确

javascript - 如何设置更改单选按钮的值?

javascript - 除非在 URL 中提供参数,否则 IE8 AJAX GET setRequestHeaders 不起作用

javascript - 在 IE11 中重新启动 gif 而无需重新加载

c++ - 单击标题栏按钮时,全局低级鼠标钩子(Hook)会导致卡住

jquery - 从 jQuery Mobile 控件组中删除项目

javascript - 使用带有缩放透明元素的 jQuery 突出显示元素

javascript - JQuery AJAX header 授权 POST

internet-explorer - 在 <h1> 之后对具有特定类的元素应用填充

html - 如何在 IE7 中将绝对定位的 div 居中?