有没有办法使用javascript来确定当前浏览器是否支持隐藏<option>标签?</option>

时间:2010-10-01 18:34:49

标签: jquery internet-explorer select cross-browser option

更新了问题:

有没有办法使用javascript来提供嗅探,而不是邪恶的浏览器嗅探,以确定当前浏览器是否支持/不支持隐藏标记?

IE不支持在select元素中隐藏标记。因此,当浏览器不支持隐藏选项标记时,我想编写一些代码来调整。但我宁愿不根据IE浏览器编写基于IE的代码,而是浏览器是否支持隐藏。

有人知道吗?

旧问题:

我在选择下拉列表中向.hide()写了一些jQuery代码<option>元素。 .hide()是我想要的,因为稍后我可以调用.show()并且不需要使用选项,因为现在可见的选项元素不会改变位置。

.hide()在FF / Chrome中运行良好,但在IE6 / 7/8中运行不佳。所以我的想法是在隐藏之后编写更多代码,确定当前浏览器是否能够隐藏元素(而不是编写浏览器版本嗅探代码)。 IE报告是的,选项元素是隐藏的(即使它不是)。

$( 'option.hideMe')隐藏(); var result = $('option.hideMe')。is(':visible');

// IE中的结果=== false,但在下拉列表中仍然可见。

在我将代码重写为1)浏览器嗅探或2)使用不同的方法(包括在所有浏览器上进行排序)之前,还有另一种方法可以确定这种情况吗?

修改

我想要回答的问题是,是否有一种方法来嗅探,而不是浏览器嗅探,以确定当前浏览器是否支持/不支持隐藏标签?

2 个答案:

答案 0 :(得分:1)

对于那些在受影响的版本中需要处理隐藏选项元素的人,我在这里发布了一个解决方法,它不会克隆或删除选项,但会包围它们,这可以说更容易处理:

http://work.arounds.org/issue/96/option-elements-do-not-hide-in-IE/

答案 1 :(得分:0)

我们在IE上隐藏选项的唯一方法是将其从选择列表中删除。你知道,你不能隐瞒或贬低它。