javascript - 如何更改 IE 中的 cssText?

标签 javascript css internet-explorer

过去,我已经能够通过内联样式标签修改页面上的 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 请看这个 fiddle :

http://jsfiddle.net/tTr5d/

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

最佳答案

IE 限制为 32 个样式表。我显然喜欢忘记这个事实,它似乎在 <link> 之上包含内联样式标签。 .

我更改了我的沙箱以打开缩小,以便将文件放在一起。

然后我的代码就起作用了。

所以看起来当你超过限制并通过 JS 插入时,你不会得到真正的错误,直到你尝试我所做的。

关于javascript - 如何更改 IE 中的 cssText?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10985495/

相关文章:

javascript - div 上的基本 ng-show 不起作用

javascript - 对象字面量未定义

javascript - 在数组中查找一个项目并添加一个值

html - 不同部分的颜色在 webgrid 中显示不正确

css - 在开发中的 Rails Assets 管道中使用 @import 时如何查看单个 css

c# - 如何使用selenium webdriver在c#中以私有(private)模式启动IE

javascript - 下拉列表问题

c++ - 即用户代理wxWidgets

javascript - AngularJS - 如何获取 ng Repeat 过滤器结果引用

html - Safari:即使有隐藏元素,阴影过滤器仍然可见