2014-04-10 38 views
2

我有一个<select>对象,我想要切换一些<option> s,我通过使用jQuery .hide()函数来实现。它的工作原理在Chrome/Firefox中的/ etc但不是在IE 9显示:none无法在IE 9中工作

小提琴链接:http://jsfiddle.net/Cz4cm/11/

HTML:

<select> 
    <option>Select a Term...</option> 
    <option class="0" value="0" style="display:none;">Option0</option> 
    <option class="1" value="1">Option1</option> 
    <option class="2" value="2">Option2</option> 
    <option class="3" value="3">Option3</option> 
    <option class="4" value="4">Option4</option> 
    <option class="5" value="5">Option5</option> 
    <option class="6" value="6">Option6</option> 
    <option class="7" value="7">Option7</option> 
</select> 

我想切换在不同的点,以便完全删除从HTML这些值DOM不是一个选项。我只想切换他们的知名度。

任何人都知道一个解决方法/无论我需要做什么来让.hide()在IE 9中工作?

谢谢。

回答

4

不幸的是,HTML规范没有定义选项元素的样式。

有些浏览器允许它,有些则不允许。但这样做不符合标准。

http://msdn.microsoft.com/en-us/library/ms535877%28v=vs.85%29.aspx

除背景色和颜色,通过风格对象的选项元素应用的样式设置将被忽略。此外,直接应用于单个选项的样式设置会覆盖整个应用于包含select元素的样式设置。

+0

谢谢。我最终使用了禁用的属性。如果完全隐藏该选项本来是很好的,但这是第二好的选择 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input#attr-disabled – migreva