使用JS将CSS放在头部

4

我需要在当前页面的页头用Javascript或JQuery添加CSS(块)。CSS以文本格式提供,如下所示(来自服务器):

label { font-family: Verdana, sans-serif; font-size: 12px; display: block; }
input { padding: 3px 5px; width: 250px; margin: 0 0 10px; }
input[type="file"] { padding-left: 0; }
input[type="submit"] { width: auto; }

我希望使用JavaScript将这个CSS代码放在头部块中,如下所示:


<meta name="author" content="" />
<link rel="stylesheet" type="text/css" href="css/global.css" />
<style type="text/css">
    label { font-family: Verdana, sans-serif; font-size: 12px; display: block; }
    input { padding: 3px 5px; width: 250px; margin: 0 0 10px; }
    input[type="file"] { padding-left: 0; }
    input[type="submit"] { width: auto; }
</style>
</head>

这是可能的吗?

谢谢!

6个回答

3
使用jQuery,你可以像这样做:
 $('<style type="text/css"> ' + myCSS + '</style>').appendTo('head');

2
你可以使用jQuery来实现这个功能。做法如下:
$("head").append("<style type=\"text/css\">" + {your content} + "</style>");

1
使用jQuery,您应该能够执行append操作。

$('head').append(' //将整个内容粘贴到这里');


0

0

是的,这是可能的,请查看此教程以了解如何完成:http://www.hunlock.com/blogs/Howto_Dynamically_Insert_Javascript_And_CSS

编辑:如果您不需要在正文中运行脚本,则有一个类似的问题在这里:Add CSS to <head> with JavaScript?

function addcss(css){
    var head = document.getElementsByTagName('head')[0];
    var styleElement = document.createElement('style');
    styleElement.setAttribute('type', 'text/css');
    if (styleElement.styleSheet) {   // IE
        styleElement.styleSheet.cssText = css;
    } else {                // the world
        styleElement.appendChild(document.createTextNode(css));
    }
    head.appendChild(styleElement);
 }

-1

请尝试使用这个:

<script type="text/javascript">
 var css = document.createElement('style');
 css.type = 'text/css';

 var styles = 'your_server_response_css_rules';

 if (css.styleSheet)
     css.styleSheet.cssText = styles;
 else 
     css.appendChild(document.createTextNode(styles));

 document.getElementsByTagName("head")[0].appendChild(css);
</script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接