首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JavaScript中创建<style>标记,然后访问cssRules

在JavaScript中创建<style>标记,然后访问cssRules
EN

Stack Overflow用户
提问于 2011-02-05 05:36:20
回答 1查看 588关注 0票数 0

我真的希望这不是一个愚蠢的问题……在过去的几个小时里,我一直在拼命地想解决这个问题。

这本质上是How to create a tag with Javascript的一个后续问题,在堆栈溢出的其他地方。Tom和Michael描述的技术在IE、Firefox和Opera中非常有效,在Chrome和Safari中几乎也有效。问题是,在Chrome和Safari中,没有为样式表创建"cssRules“属性!其他浏览器创建一个"cssRules“属性(好吧,IE创建了一个"rules”属性,但您已经知道了)。

谁能解释一下如何为iframe创建一个样式表,让我在Chrome和Safari中有一个"cssRules“属性?

我的意图是向我在网页中创建的iframe添加一个样式表,因为它似乎没有附带样式表。稍后,我希望将封闭文档的样式表中的一些样式复制到iframe的样式表中,但我还没有做到这一点。一旦我解决了上面的问题,如果有人知道这样做的任何注意事项,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2011-02-05 06:45:06

我已经在Firefox 3.6,Chromium 8,Opera 11 (ubuntu 10.10)上测试过了

temp.html:

代码语言:javascript
复制
<style>
    body { background-color: blue; }
</style>

 <body>
    Hello
</body>

index.html:

代码语言:javascript
复制
<html>
<head>
    <script>
        function test(){
            // your new <style> tag
            var stl = document.createElement("style");
            // its content
            stl.innerHTML = "body { background-color: red}";

            // getting iframe
            var myIframe = document.getElementById("myiframe");

            // apply new CSS to iframe
            myIframe.contentWindow.document.
                    getElementsByTagName('head')[0].appendChild(stl);
        }
    </script>
</head>
<body>
    <iframe id="myiframe" src="temp.html"></iframe>
    <button onclick="test()">
</body>
</html>

当我单击该按钮时,iframe中的背景变为红色。

附言:如果它重复了,很抱歉。我现在才在你的帖子中打开了另一个主题的链接

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4903175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档