如何在除Internet Explorer之外的所有浏览器上隐藏单选按钮?

时间:2016-03-05 12:05:40

标签: html css

我的代码如下所示:

<label>
   <input type="hidden" name="styless" value="9">
   <input type="radio" style="display:none" >Qwerty
</label>

除了Internet Explorer之外,所有浏览器都能正常运行。如何在IE浏览器中显示单选按钮,并使其在其他浏览器中保持隐藏状态?

在IE中发生的事情是当我点击&#34; Qwerty&#34;时,不会触发点击事件。 所以我想只删除IE中的display:none

2 个答案:

答案 0 :(得分:1)

通常您不应尝试使页面行为特定于浏览器。我认为更好的解决方案是在所有浏览器上使"Qwerty"文本点击动作相同。

您可以使用JavaScript执行此操作 - 将文本包装在<span>元素中,并为其提供onclick事件,以检查您的单选按钮。要可靠地找到单选按钮,您应该为其指定id属性。然后在点击事件上调用preventDefault,以避免任何可能会或可能不会发生的不良行为

您的最终HTML应如下所示:

<label>
   <input type="hidden" name="styless" value="9">
   <input type="radio" style="display:none" id="qwerty-radio-box">
   <span onclick="document.getElementById('qwerty-radio-box').checked = true; event.preventDefault();">Qwerty</span>
</label>

在您的问题中,您没有提及您的项目是否已经拥有JavaScript代码库。如果是,则应将JavaScript代码移到那里,而不是将其保留在此onclick事件属性中。如果没有,这是唯一的用法,我会说把它留在这里很好。

答案 1 :(得分:0)

您可以使用$ .browser属性,您可以使用jQuery Migrate插件(对于JQuery&gt; = 1.9 - 在早期版本中您可以使用它),然后执行以下操作:

if (!$.browser.msie){
// do something
}