jQuery选择框.val('')行为从1.9到1.10+不同,最简单的方法是什么

bbo*_*nev 5 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('');
Run Code Online (Sandbox Code Playgroud)

这段代码背后的想法是选择第一个选项.

在1.10之后,$('#s1').val('');零件不再以相同的方式工作.我认为它从来没有意味着以这种方式使用,但它的旧代码必须以某种方式进行现代化......

在jQuery 1.10之后没有选择并$('#s1').val()返回null.

将代码更改为:

$('#s1 option[value=1]').hide();
$('#s1').val($('#s1 option').first().val());
Run Code Online (Sandbox Code Playgroud)

是否有新的和旧的jQuery版本的工作.

我的问题是,是否有更短/更优雅的方式来做同样的事情?

Der*_*會功夫 4

$("#s1")[0].selectedIndex = 0;
Run Code Online (Sandbox Code Playgroud)

如果你真的喜欢 jQuery,你也可以这样做:

$("#s1").prop("selectedIndex", 0);
Run Code Online (Sandbox Code Playgroud)

更多信息请参见:/sf/answers/91998651/