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);
});
不過,我喜歡的東西更好。有任何想法嗎?
注:我沒有在選擇器或類似的東西中尋找性能。發佈的代碼只是一個簡化的例子,而不是我真正的腳本。
是否運行'opt.prop(「selected」,true).prependTo(「select」);'在IE中工作?順便說一下,您可能需要'.detach()'而不是'.remove()'來保留數據和事件。 – pimvdb
你使用的是什麼版本的jQuery?如果您使用的是最新版本的庫,那麼這種方式無效。 – Pointy
@pointy這是令人驚訝的,但它失敗了,如1.8.2所述。 'prop'作爲@pimvdb建議失敗,雖然我發誓它第一次嘗試但它不會再工作。 –