javascript – jQuery如何选择第一个非隐藏的选择选项

前端之家收集整理的这篇文章主要介绍了javascript – jQuery如何选择第一个非隐藏的选择选项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下jQuery 1.9和1.10之间的行为有所不同:
<select id="s1">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>

$('#s1 option[value=1]').hide();
$('#s1').val('');

代码背后的想法是在隐藏一些选项(包括当前选定的选项)后选择第一个非隐藏选项.

从jQuery 1.10开始$(‘#s1’).val(”);不再选择第一个非隐藏选项,而.val(<特定选择框的某个适当值>)可以正常工作.

尝试以下方法没有帮助,因为selectedIndex和.first().val()都考虑隐藏选项:

$(“#s1”).prop(“selectedIndex”,0);

$(‘#s1 option’).first().prop(‘selected’,true);

我想到的下一件事(也由C-link建议)也不起作用,因为:visible选择器对选择选项不起作用.

$(‘#s1选项:可见’).first().prop(‘selected’,true);

寻找一些通用方法(不依赖于知道什么是特定值以及隐藏了哪些选项)来实现与$(‘#s1’)相同的行为.val(”);在旧的jQuery中.

解决方法

很像这样:
$('#s1').find("option:not(:hidden):eq(0)");

猜你在找的jQuery相关文章