当前位置: 首页 > 面试题库 >

option.style.display =“ none”在野生动物园中不起作用

谢承颜
2023-03-14
问题内容

HTML:

<select id="asd">
    <option>hello</option>
    <option>I'M THE CHOSEN ONE</option>
    <option>asd</option>
    <option>wer</option>
    <option>qwe</option>
</select>

JS:

var sel = document.getElementById("asd");
var optnz = sel.getElementsByTagName("option")[1];
sel.value = optnz.value;
optnz.style.display = "none";

如您所见,它在chrome中有效,但在safari中不起作用。它应该做的是,当您单击下拉菜单时,隐藏“ I’M THE CHOSEN ONE”选项。

相同的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似乎无济于事。

编辑:

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


问题答案:

您无法<option>在Safari(或IE)中切换元素上的显示。这是Safari长期限制传统的一部分,因为Safari限制了表单元素的CSS样式功能,认为交互式元素的可视语言应与OS一致(毫无意义地试图找到IE失败的原因)。

您唯一的选择是将其删除(并在以后重新添加),或将其设置为optnz.disabled = true。关于这些坏消息我很遗憾!



 类似资料:
  • 问题内容: 我有一些CSS3动画,它可以在所有支持CSS3的浏览器(野生动物园)中完美运行。是不是很奇怪 好的,这是我的代码: HTML CSS 好的,正如我所说的,这在Safari中不起作用,没有任何动作。 而且,仍然并且仅在Safari中,只有在调整屏幕大小时才会显示键区div!它在DOM中存在,但是由于某种原因它没有显示出来! 我究竟做错了什么? 更新:好的,从您的答案中我得知Safari

  • 我正在测试我们网站的注册,其中一个字段是选择下拉菜单。该测试在所有 Windows 桌面浏览器上完全有效。它也适用于Mac上的铬。此问题仅在 Mac 浏览器 11.1 上出现: 当尝试选择我想要的选项时,它会报告选择元素不可见。 我的测试是在Visual Studio中通过Browserstack完成的。我有屏幕截图和视频,清楚地显示选择元素是可见的(至少对用户而言)。它不在页面底部,没有页脚覆盖

  • 我正在尝试为没有ssl的Kafka集群启用SASL用户名和密码。我按照这个Stackoverflow的步骤: Kafka SASL 动物园管理员身份验证 SASL认证似乎对Kafka经纪人有效。消费者和生产者在写入或读取主题之前必须进行身份验证。到目前为止一切顺利。 问题在于在 kafka 上创建和删除主题。例如,当我尝试使用以下命令时: 我能够列出kafka集群中的所有主题,并创建或删除任何无需

  • 问题内容: 在我的每个输入字段中,Safari浏览器中都有带箭头的小人物图标。如何禁用它?顺便说一句,我有任何其他类似的页面,并且没有发生。我尝试关闭Web检查器中的所有样式,但一页上仍带有该图标。所以我不知道它是CSS还是HTML。 问题答案: 如果要完全隐藏它,可以使用以下CSS技巧。基本上,它会检测到“联系人自动填充按钮”,并将其从输入字段移开。确保您具有“ absolute:positio

  • 我通过“vagrant up”命令运行了我的虚拟机,一切正常。“vagrant ssh”工作正常,ifconfig的输出为: 我的Homestead.yaml是: 但是当我尝试浏览我的Web应用程序时,它不起作用。我试过了http://prova.app, 192.168.10.10:8000, 127.0.0.1:8000, http://localhost:8000但它仍然不起作用。 我的主机

  • 问题内容: 单击“后退”按钮时,Safari浏览器加载旧的youtube视频时出现问题。我尝试将onunload=“”此处提到[防止Safari5中的后退按钮缓存添加到body标签,但是在这种情况下不起作用。 有什么方法可以防止从某个页面的缓存中加载safari? 问题答案: 您的问题是由后退缓存引起的。当用户离开时应该保存页面的完整状态。当用户使用后退按钮导航时,可以非常快地从缓存中加载页面。这