Javascript 如何使用ID选择器创建动态样式表?

Javascript 如何使用ID选择器创建动态样式表?,javascript,css,css-selectors,Javascript,Css,Css Selectors,我希望能够使以下代码正常工作: 问题是它最终会出现以下样式: 未知{显示:无;} 我也尝试过使用addRule来获得相同的结果,事实上它的错误是“无效参数”,并且没有设置任何内容 我试图实现的是动态隐藏给定页面中的某些元素以不打印,这些元素使用不同的标记、格式和类,因此没有通用的方法可以在不使用ID选择器的情况下排除它们(至少我可以想到) 这适用于使用IE7的intranet上的业务应用程序 我目前唯一的解决方法是将此信息发送到ASP,以将其作为样式表返回,这样我就可以将其用作href样式表,

我希望能够使以下代码正常工作:

问题是它最终会出现以下样式:
未知{显示:无;}

我也尝试过使用addRule来获得相同的结果,事实上它的错误是“无效参数”,并且没有设置任何内容

我试图实现的是动态隐藏给定页面中的某些元素以不打印,这些元素使用不同的标记、格式和类,因此没有通用的方法可以在不使用ID选择器的情况下排除它们(至少我可以想到)

这适用于使用IE7的intranet上的业务应用程序

我目前唯一的解决方法是将此信息发送到ASP,以将其作为样式表返回,这样我就可以将其用作href样式表,因为这是我所能想到的使用ID选择器动态创建样式表的全部方法

提前感谢。

试试:

var head = document.getElementsByTagName("head")[0];
var style = document.createElement( "style" );
style.type = "text/css";
style.media = "print";
style.text = "#menu {display:none;}";
head.appendChild( style );

对我来说,只要使用
.innerHTML
,它就可以工作。不过我用的是Chrome浏览器,看起来你用的是Internet Explorer。但是,使用
.innerHTML
,您可以简单地设置内容(即在
之间)

var head = document.getElementsByTagName("head")[0];
var style = document.createElement( "style" );
style.type = "text/css";
style.media = "print";
style.text = "#menu {display:none;}";
head.appendChild( style );
var head = document.getElementsByTagName("head")[0];
var style = document.createElement( "style" );

style.type = "text/css";
style.media = "print";
style.innerHTML = "#menu {display:none;}";
head.appendChild( style );
window.print();