您可以通过将选项移动到隐藏的选择元素或缓存的文档片段来“隐藏”该选项,然后在您想要显示它时将其移回:
var selectTool = (function() {
var frag = document.createDocumentFragment();
return {
hideOpt: function (selectId, optIndex) {
var sel = document.getElementById(selectId);
var opt = sel && sel[optIndex];
console.log(opt);
if (opt) {
frag.appendChild(opt);
}
},
showOpt: function (selectId) {
var sel = document.getElementById(selectId);
var opt = frag.firstChild;
if (sel && opt) {
sel.appendChild(opt);
}
}
}
}());
然后你可以隐藏第四个选项,如:
<input type="button" value="Hide option" onclick="
selectTool.hideOpt('selectlist',4);
">
并再次使用:
<input type="button" value="Show option" onclick="
selectTool.showOpt('selectlist');
">
当然都是玩代码,但你应该得到一些想法。如果要存储许多选项,则需要一种引用它们的方法,因此可以将它们存储在具有某种形式的引用方案的对象中。