Javascript option.style.display=";无”;不在safari工作

Javascript option.style.display=";无”;不在safari工作,javascript,html,css,html-select,Javascript,Html,Css,Html Select,这就是我正在研究的示例: HTML: 正如您所见,它在chrome中工作,但在safari中不工作。。它应该做的是在单击下拉菜单时隐藏“我是被选中的人”选项 这是我做的另一个测试: 相同的HTML,这是JS: var sel = document.getElementById("asd"); var opt = document.createElement("option"); opt.innerHTML = "YAYA"; opt.value = "YAYA"; sel.appendChild

这就是我正在研究的示例:

HTML:

正如您所见,它在chrome中工作,但在safari中不工作。。它应该做的是在单击下拉菜单时隐藏“我是被选中的人”选项

这是我做的另一个测试:

相同的HTML,这是JS:

var sel = document.getElementById("asd");
var opt = document.createElement("option");
opt.innerHTML = "YAYA";
opt.value = "YAYA";
sel.appendChild(opt);
sel.value = "YAYA";
opt.style.display = "none";
无论如何,我需要做的是将一个选项显示为选中(当前),并在下拉菜单打开时向用户隐藏,以便用户无法选择它

有什么建议/解决办法吗?我没有看到任何错误。Safari怎么了?我应该改变方法吗?Jquery似乎帮不了什么忙


编辑:


我需要隐藏下拉菜单中的选项,但同时我需要显示此选项“值”作为所选值!例如,“closed”下拉列表将显示值“I'M the Selected ONE”,但如果我单击并打开菜单,唯一可见的选项将是“hello,asd,wer,qwe”。

您不能在Safari(或IE)中切换显示
元素。这是Safari长期以来不一致的传统的一部分,Safari限制表单元素的CSS样式功能,认为交互元素的视觉语言应该与操作系统一致(没有必要试图找到IE失败的理由)


您唯一的选择是将其删除(稍后再重新附加),或者将其设置为
optnz.disabled=true
。为这个坏消息感到抱歉

保存了我的一天或使用
可见性:隐藏
@JDrake可见性:隐藏不起作用显示:无;on
    元素在移动设备上对我来说很好,但在笔记本电脑上却不行
    var sel = document.getElementById("asd");
    var optnz = sel.getElementsByTagName("option")[1];
    sel.value = optnz.value;
    optnz.style.display = "none";
    
    var sel = document.getElementById("asd");
    var opt = document.createElement("option");
    opt.innerHTML = "YAYA";
    opt.value = "YAYA";
    sel.appendChild(opt);
    sel.value = "YAYA";
    opt.style.display = "none";