【发布时间】:2012-06-11 18:23:36
【问题描述】:
过去,我可以通过内联样式标签修改页面上的 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 请看这个小提琴:
看来我的 tag.styleSheet.cssText 解决方案与使用 styleSheets 属性相同。您可以注释掉 cssText 的最后一个定义,以查看它是否按照@Teemu 的建议工作。所以现在我真的迷失了为什么它在我的应用程序中不起作用。如果有人有想法可以破坏该功能,那就太好了。与此同时,我将修改我的应用程序。
【问题讨论】:
-
@SupremeDud 我在我的文档中尝试了
styleSheet.addRule( 'body', 'background-color:#FF0000' );,它只返回了一个数字,每个添加的规则一个,但我没有看到 CSS 更新视觉。当然,我将直接进入工作表而不是使用 styleSheets,我知道这是一个函数 -
@SupremeDud 看到我的答案非常不同。
标签: javascript css internet-explorer