是否可以在某些浏览器中隐藏id元素
Is it possible to hide an id element in some browsers?
说我有一个像这个一样定义的id
<span id ="radiobuttonContainer"> Check to enable checkboxes:
<input type="radio" name="cov-failed" value="cover" onclick="javascript:printoutCheckboxes('cover')">
Coverage
<input type="radio" name="cov-failed" value="failed" onclick="javascript:printoutCheckboxes('failed')">
Failed</span>
我不想在IE 9以下的浏览器中显示这个"spanId",因为这使IE<8无法管理。我知道,根据像这样的浏览器,可以有不同的javascript和css:es
<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="root/include/excanvas.min.js"></script><![endif]-->
然后选择显示:"无";
但我想知道,除了这一行之外,是否真的有必要拥有两个相等的.css文件,其中包含完全相同的信息?
我就不能做这样的事吗?
<!--[if lte IE 8]>document.getElementById('radiobuttonContainer').style.display = 'none';<![endif]-->
您应该能够将标记包装在条件注释中。或者,由于页面中内联包含的CSS优先于包含的CSS,因此不必包含第二个样式表,只需针对这种情况添加一个新的定义即可。即
<!--[if lte IE 8]>
<style type="text/css">
#radiobuttonContainer{
display = 'none';
};
<![endif]-->
并将其放在包含的CSS文件之后。
如果您使用像Modernizr这样的工具,您可以使用它来确定浏览器的功能。
如果有一个特定的功能在IE8中不可用,您可以在样式表中引用它,如果浏览器没有该功能,则可以隐藏该元素。
假设这个功能是HTML5画布,你只需要一行脚本就可以在你的页面中包含Modernizr Javascript,然后你就可以在CSS中做这样的事情:
.nocanvas .radiobuttonContainer {
display:none;
}
我认为你肯定可以做这样的事情:
<!--[if lte IE 8]><script type="text/javascript">
document.getElementById('radiobuttonContainer').style.display = 'none';
</script><![endif]-->
顺便说一句,这是你的例子的合并。
相关文章:
- 使用类而不是id在JavaScript中隐藏显示
- Bootstrap使用复选框显示和隐藏id
- 使用网格ID隐藏剑道网格工具栏
- JS在隐藏未定义的值后仅从数组中返回第一个id的值
- 在代码隐藏 (asp.net VB) 中返回“完整”客户端 ID
- 使用 JQuery 隐藏没有数据(包括标头)且具有相同表 ID 的列
- 使用AJAX发送隐藏的ID输入字段
- 无法访问字段'通过aspx页面上的javascript函数传递来自代码隐藏中函数调用的客户端id的s值(页面加载
- jQuery-如何从同一类中隐藏的输入id中获取不同的值
- Javascript条件-不隐藏ID
- 如何根据给定的 ID 隐藏和显示信息
- 具有一个#id的多选选项可显示n个隐藏表
- 指向“”的超链接;隐藏的“;jQuery Toggler内部的内容(特定的#id)
- 如何从URL隐藏ID
- 单击功能时切换隐藏ID,再次切换功能时显示
- 如何使用自动完成jquery放置隐藏id
- 如何隐藏#id对象
- 隐藏id大于$number的行
- 通过jquery动态隐藏id
- 是否可以在某些浏览器中隐藏id元素