【问题标题】:How do you copy an inline style element in IE?如何在 IE 中复制内联样式元素?
【发布时间】:2010-10-26 21:53:39
【问题描述】:

IE 不允许写入 style 或 head 元素的 innerHTML 属性。那么如何将样式元素从一个文档的头部复制到另一个文档呢?

【问题讨论】:

    标签: javascript internet-explorer dom


    【解决方案1】:
    function copy_style(src_style_tag) {    
        var tmp_div = document.createElement('div');
        var innerHTML = src_style_tag.innerHTML;
        tmp_div.innerHTML = '<p>x</p><style type="text/css">' + innerHTML + '</style>';
    
        return tmp_div.getElementsByTagName('style')[0];
    }
    

    神奇的是您需要tmp_divinnerHTML 中的&lt;p&gt; 标记。没有它,IE 不接受 style 元素。

    【讨论】:

      【解决方案2】:

      如果你想复制一些元素,不如试试Node.cloneNode(true)Node.appendChild一起使用

      【讨论】:

      • cloneNode 在不同的文档(比如 iframe)中不起作用。您需要使用 IE 不支持的 document.importNode。
      猜你喜欢
      • 2020-03-25
      • 2021-10-13
      • 2021-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-26
      • 1970-01-01
      • 2015-10-08
      相关资源
      最近更新 更多