Css Javascript向头部添加样式标记

Css Javascript向头部添加样式标记,css,dom,styles,Css,Dom,Styles,我正在尝试使用javascript向内部样式表添加一些css。这是我使用的代码: function googleJS(){ var iframe = document.getElementsByTagName('iframe')[0]; var doc = iframe.contentWindow.document; var newScript = doc.createElement('style'); newScript.setAttribute('.skipt

我正在尝试使用javascript向内部样式表添加一些css。这是我使用的代码:

function googleJS(){
    var iframe = document.getElementsByTagName('iframe')[0];
    var doc = iframe.contentWindow.document;
    var newScript = doc.createElement('style');
    newScript.setAttribute('.skiptranslate { display: none; }');
    var bodyClass = doc.getElementsByTagName('head')[0];         
    bodyClass.insertBefore(newScript, bodyClass.childNodes[2]);
}
然而,这导致:

<style .skiptranslate {display: none};></style> 

使用javascript在DOM中插入带有必要CSS的样式标记的正确方法是什么

如果您可以使用JQuery,谢谢您: $().css('Property-Name','Value')

顾名思义()
Element.setAttribute

在指定元素上添加新属性或更改现有属性的值

这正是
元素上发生的事情。要解决此问题,请使用或而不是
.setAttribute()


谁说过jQuery?此外,这甚至不等同于OP试图做的事情。
.css()
仍然不直接等同于插入新的css规则。@user208709不客气,但实际上只是阅读文档的问题。
:)
顺便问一句,是否可以在createTextNode中添加多个css属性?是的,可以。你为什么不试试呢?就像我说的,读文件。有丰富的、有良好文档记录的用于操纵CSS规则的API。去探索吧!对不起,如果我听起来很懒,我不是。我的日程排得很紧,其他成员已经离开了团队,所以我正在同时研究几个解决方案,只是这一部分我找不到快速解决方案。正如函数名所示,
setAttribute()
为元素设置“属性”。这就是你的代码所发生的事情。
function googleJS(){
    var iframe = document.getElementsByTagName('iframe')[0];
    var doc = iframe.contentWindow.document;
    var newScript = doc.createElement('style');
    var content = doc.createTextNode('.skiptranslate { display: none; }');
    newScript.appendChild(content);
    var bodyClass = doc.getElementsByTagName('head')[0];         
    bodyClass.insertBefore(newScript, bodyClass.childNodes[2]);
}