【问题标题】:select option jquery hide() is not working in IE选择选项 jquery hide() 在 IE 中不起作用
【发布时间】:2017-05-23 23:53:30
【问题描述】:

我想根据某些条件显示/隐藏选择选项。它在 Firefox 中运行良好,但在 IE 中无法运行。我不想使用 remove(),因为我想保留数据以在不同条件下再次显示。

IE 版本 10,jQuery v1.11.3

$('#ddl').children('option').each(function () {
    if ($(this).attr('e-id') != 4) {
        $(this).hide();
    }
    else {
        $(this).show();
    }
});

【问题讨论】:

  • 创建一个小提琴并在此处提供您的代码 sn-p。隐藏选项不兼容跨浏览器。
  • 提供:有问题的代码,你使用的jQuery版本,你使用的IE版本。
  • 请包含所有相关代码,如html
  • hide() 和 show() 函数适用于浏览器,但是通过查看 html 代码,很难说问题出在哪里

标签: jquery html


【解决方案1】:

IE 不支持选项标签上的某些 css 属性。我知道的是

显示、高度、可见性、指针事件

option:first-child, &:nth-child(3){
  color: red;
}

option:nth-child(2){
  font-weight: bold;
}

option:nth-child(4){
  font-size: 30px;
}

option:nth-child(5){
  display:none;
}
<select>
  <option>A</option>
  <option>B</option>
  <option>C</option>
  <option>D</option>
  <option>E</option>
  <option disabled>F</option>
  <option>G</option>
  <option>H</option>
  <option>I</option>
</select>

但如果您不想让用户选择它,您可以禁用该选项。

【讨论】:

    【解决方案2】:

    你可以用prop代替attr

    【讨论】:

    • 虽然这可能是解决问题的一个有价值的提示,但一个好的答案也可以证明解决方案。请edit 提供示例代码来说明您的意思。或者,考虑将其写为评论。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 2011-02-15
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多