选择选项 jquery hide() 在 IE 中不起作用



我想根据某些条件显示/隐藏选择选项。它在火狐中工作正常,但在IE中不起作用。我不想使用 remove((,因为我想保留数据以在不同条件下再次显示。

IE 版本 10, jQuery v1.11.3

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

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>

但是,如果您不希望用户选择该选项,则可以禁用该选项。

您可以使用

prop来替换attr

最新更新