我有
this code
var opt = $("select option:first"); opt.remove(); $("button").on("click",function() { $("select").prepend(opt).val(1); });
这在某些浏览器中工作正常.但是,当然,IE不是其中之一.在IE中,组合以两个选项结束,但文本为空(没有选定选项).我假设这是因为该选项仍未加载到DOM中.我认为,因为我可以使用this code轻松解决此问题:
var opt = $("select option:first"); opt.remove(); $("button").on("click",function() { $("select").prepend(opt); setTimeout(function() { $("select").val(1); },1); });
但是,我更喜欢更好的东西.有任何想法吗?
解决方法
这似乎适用于所有浏览器,但我不知道为什么你的原始代码在IE中失败.
var opt = $("select option:first"); opt.detach(); $("button").on("click",function() { $("select").prepend(opt).prop("selectedIndex",0); });