【问题标题】:How to add a style tag in a web page from external javascript(js) file如何从外部 javascript(js) 文件在网页中添加样式标签
【发布时间】:2025-11-23 21:25:01
【问题描述】:

我正在开发一个网页,我想在其中从外部 javascript 文件动态添加样式标签

我正在使用这个不起作用的代码

this.addStyle = function()
    {
        if (! this.inited) {
          alert("not inited");
          return;
         }
        var head = document.getElementsByTagName('head')[0],
        style = document.createElement('style'),
        rules = document.createTextNode('.bodys { bgcolor="red"; }');
        style.type = 'text/css';
        if(style.styleSheet)
            style.styleSheet.cssText = rules.nodeValue;
        else style.appendChild(rules);
            head.appendChild(style);
    }

【问题讨论】:

  • 请为您的问题使用一些代码格式。

标签: javascript


【解决方案1】:

.bodys{ bgcolor="red"; } 更改为.bodys{background-color:red}

【讨论】:

    【解决方案2】:

    并非所有浏览器都适用于生成的文本节点。 MediaWiki 使用

    var s = document.createElement( 'style' );
    s.type = 'text/css';
    s.rel = 'stylesheet';
    if ( s.styleSheet ) {
        s.styleSheet.cssText = text; // IE
    } else {
        s.appendChild( document.createTextNode( text + '' ) ); // Safari sometimes borks on null
    }
    

    当然也跟着 alberts 回答。

    【讨论】:

    • 我不确定是否真的需要s.rel = 'stylesheet';
    最近更新 更多