Die*_*ego 7 javascript jquery dom-manipulation
我有这个代码
var opt = $("select option:first");
opt.remove();
$("button").on("click", function() {
$("select").prepend(opt).val(1);
});
Run Code Online (Sandbox Code Playgroud)
这在某些浏览器中工作正常.但是,当然,IE不是其中之一.在IE中,组合以两个选项结束,但文本为空(没有选定选项).我认为这是因为该选项仍未加载到DOM中.我假设因为我可以使用此代码轻松解决此问题:
var opt = $("select option:first");
opt.remove();
$("button").on("click", function() {
$("select").prepend(opt);
setTimeout(function() {
$("select").val(1);
}, 1);
});
Run Code Online (Sandbox Code Playgroud)
但是,我更喜欢更好的东西.有任何想法吗?
注意:我不是在选择器中寻找性能或类似的东西.发布的代码只是一个简化的例子,而不是我的真实脚本.
这似乎适用于所有浏览器,尽管我不知道为什么你的原始代码在 IE 中失败。
var opt = $("select option:first");
opt.detach();
$("button").on("click", function() {
$("select").prepend(opt).prop("selectedIndex", 0);
});
Run Code Online (Sandbox Code Playgroud)