【发布时间】:2011-05-22 21:18:54
【问题描述】:
这应该可行:
$('option').hide(); // hide options
它适用于 Firefox,但不适用于 Chrome(可能不适用于 IE,未经测试)。
一个更有趣的例子:
<select>
<option class="hide">Hide me</option>
<option>visible option</option>
</select>
<script type="text/javascript">
// try to hide the first option
$('option.hide').hide();
// to select the first visible option
$('option:visible').first().attr('selected', 'selected');
</script>
或查看http://jsfiddle.net/TGxUf/的示例
是从 DOM 中分离选项元素的唯一选择吗?我需要稍后再展示它们,所以这不会很有效。
【问题讨论】:
-
你可以使用 $('option:visible:first') 代替 $('option:visible').first()
-
对于现在遇到这个问题的任何人,请注意发布的代码确实在 Chrome 和 Firefox 中工作(尚未测试 IE)。
-
:visible选择器不适用于<option>s。引用该文档,“所有option元素都被认为是隐藏的,无论它们的selected状态如何。”
标签: javascript jquery cross-browser