1

更新的问题:

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

IE 不支持在选择元素中隐藏标签。所以我想写一些代码来调整浏览器不支持隐藏选项标签的情况。但是我宁愿不根据浏览器是否为IE来编写代码,而是浏览器是否支持隐藏。

有人知道方法吗?

老问题:

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

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

$('option.hideMe').hide(); var 结果 = $('option.hideMe').is(':visible');

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

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

编辑

我试图回答的问题是,是否可以通过嗅探而不是浏览器嗅探来确定当前浏览器是否支持/不支持隐藏标签?

4

2 回答 2

1

对于必须在受影响的版本中处理隐藏选项元素的任何人,我在这里发布了一个解决方法,它不会克隆或删除选项,而是围绕它们进行环绕,这可以说更容易处理:

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

于 2011-03-24T15:12:11.790 回答
0

我们在 IE 上隐藏选项的唯一方法是将其从选择列表中删除。据我所知,您无法隐藏或禁用它。

于 2010-10-01T18:55:47.677 回答