过去,我已经能够通过内联样式标签修改页面上的CSS。
我知道这听起来很可怕,但这是针对自定义CSS编写的,同时使用了一种所见即所得的形式(虽然没有文字)。

我曾经做过类似的事情:
tag.styleSheet.cssText = myrules;

我不知道确切的时间,但尝试此操作时,IE有时会说“无效的参数”。真正的症结在于,执行tag.innerHTML = 'body {}'给出Unable to set value of the property 'innerHTML': object is null or undefined,这在任何其他浏览器中都不会发生。

编辑

为了清楚起见,我使用的是内联样式标签。我不尝试使用内联样式属性。

<style type="text/css" id="mytag"></style>

如何更改该标签的内部?

编辑2
请看这个小提琴:

http://jsfiddle.net/tTr5d/

看来我对tag.styleSheet.cssText的解决方案与使用styleSheets属性完全相同。您可以注释掉cssText的最后一个定义,以使其按照@Teemu的建议运行。所以现在我真的迷失了为什么它无法在我的应用程序中工作。如果有人有什么想法可以破坏该功能,那就太好了。同时,我将修补我的应用程序。

最佳答案

IE限于32个样式表。我很想忘记这个事实,它似乎在<link>之上包括内联样式标签。

我更改了沙箱以启用缩小功能,以便将文件放在一起。

然后我的代码工作了。

这样看来,当您超过限制并通过JS插入时,直到您尝试执行我的操作后,您才会得到真正的错误。

08-08 07:15