jQuery 选择框 .val('') 行为从 1.9 到 1.10+ 不同,最短的方法是什么[重复]

2024-01-02

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('');

此代码背后的想法是选择第一个选项。

1.10之后,$('#s1').val('');部分不再以同样的方式工作。我想它从来就不应该以这种方式使用,但它的旧代码必须以某种方式进行现代化......

在 jQuery 1.10 之后,没有选择任何内容$('#s1').val()回报null.

将代码更改为:

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

适用于新旧 jQuery 版本。

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


$("#s1")[0].selectedIndex = 0;

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

$("#s1").prop("selectedIndex", 0);

更多这里:https://stackoverflow.com/a/1314266/283863 https://stackoverflow.com/a/1314266/283863

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery 选择框 .val('') 行为从 1.9 到 1.10+ 不同,最短的方法是什么[重复] 的相关文章

随机推荐