2017-05-23 43 views
1

我想基于某些条件显示/隐藏选择选项。它在Firefox中工作正常,但不能在IE中工作。我不想使用remove(),因为我想保留数据以在不同条件下再次显示。选择选项jquery hide()在IE中不工作

IE版本10,jQuery的v1.11.3

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

创建一个小提琴,并在这里给你的代码片段。隐藏选项不是跨浏览器兼容的。 – Manwal

+0

提供:有问题的代码,您使用的jQuery版本以及您正在使用的IE版本。 –

+0

请包括所有相关代码,如html –

回答

-1

可以使用prop更换attr

+0

请使用代码或示例证明您的答案。 –

+0

虽然这可能是解决问题的有价值的提示,但一个好的答案也可以证明解决方案。请[编辑]提供示例代码来展示你的意思。或者,可以考虑将其写为注释。 –

0

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>

但是你可以选择禁用,如果你不想让用户选择它。