说我有一个像这样定义的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>
我不想在I.E 9以下的浏览器中显示这个“spanId”因为这使得能够进行更多虚拟化的数据,IE&lt; 8不能管理。我知道你可以拥有不同的javascripts和css:es,这取决于像这样的浏览器
<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="root/include/excanvas.min.js"></script><![endif]-->
然后选择显示:'无';
但是我想知道除了这一行之外还有2个相同的.css文件包含完全相同的信息真的很麻烦吗?
我不能只做这样的事吗?
<!--[if lte IE 8]>document.getElementById('radiobuttonContainer').style.display = 'none';<![endif]-->
答案 0 :(得分:4)
您应该能够将标记包装在条件注释中。或者,由于页面中包含内联的CSS优先于包含的CSS,因此您不必包含第二个样式表,只需要特定于该情况的新定义。即。
<!--[if lte IE 8]>
<style type="text/css">
#radiobuttonContainer{
display = 'none';
};
<![endif]-->
并将其包含在CSS文件之后。
答案 1 :(得分:1)
如果您使用Modernizr之类的工具,则可以使用它来确定浏览器的功能。
如果某个特定功能在IE8中不可用,您可以在样式表中引用它,如果浏览器没有该功能,则隐藏此元素。
假设该功能是HTML5画布,您需要做的就是在您的页面中包含Modernizr Javascript的一行脚本,然后您在CSS中执行类似的操作:
.nocanvas .radiobuttonContainer {
display:none;
}
答案 2 :(得分:0)
我认为你肯定可以这样做:
<!--[if lte IE 8]><script type="text/javascript">
document.getElementById('radiobuttonContainer').style.display = 'none';
</script><![endif]-->
顺便提一下你的例子。