将CSS文件添加到javascript到单个.js文件中

将CSS文件添加到javascript到单个.js文件中,javascript,css,Javascript,Css,我尝试将所有CSS代码附加到javaScript中,然后通过js文件加载,我这样做了,问题出在哪里?以下是我的js文件的第一行: var innerstyle = '#container{width:800px;background:silver;margin:20px auto;padding:10px;color:gray;border-radius:5px}input{padding:3px}input[name="jsvar"]{width:250px;font-family:couri

我尝试将所有CSS代码附加到javaScript中,然后通过js文件加载,我这样做了,问题出在哪里?以下是我的js文件的第一行:

var innerstyle = '#container{width:800px;background:silver;margin:20px auto;padding:10px;color:gray;border-radius:5px}input{padding:3px}input[name="jsvar"]{width:250px;font-family:courier}#display{border:2px gray solid;border-radius:5px;color:white;margin:10px 0}#display #dtitle{background:gray;border-radius:2px 0;padding:10px 5px}#display #dmsg{min-height:20px}#clear{float:right;cursor:pointer;text-decoration:none;color:white;background:red;padding:2px 10px;border-radius:5px}#clear:hover{background:gold}.rtitle{padding:8px;background:pink;text-align:center}.rtitle input{border:1px solid red;float:right}.rtext{max-height:200px;overflow:auto;margin-bottom:5px}.rtext td{min-width:100px}.secfilter{margin-left:5px}';
var styletag = document.createElement('style');
var inst = document.createTextNode(innerstyle);
styletag.appendChild(inst);
var headref = document.getElementsByName('head');
headref.appendChild(styletag);
以下是chrome控制台的信息:

Uncaught TypeError: undefined is not a function
Line 6;
返回文档中具有指定名称的所有元素的集合(名称属性的值) (“name”属性在HTML5中已被弃用,并被许多元素的“id”属性所取代。您应该使用Thank@t.niese) 像

相反,您可以使用标签的ID,如

并使用以下命令查询元素:

document.getElementById('theId')
getElementById返回具有ID属性且具有指定值的元素


查找标记名为“tag”的所有元素并返回一个数组,如果通过标记名“head”找到数组中的第一个位置,则该位置将是head元素。

此函数
document.getElementsByName('head')返回数组。试试这样吧

document.getElementsByName('head')[0]

Its将为您提供第一个查找到的名为
head

getElementsByName
[…]的元素,返回一个具有给定名称[…]的节点列表集合,而不是一个节点。我很确定你在寻找
getElementsByTagName
而不是
getElementsByName
我不确定你是否能像那样注入CSS。请尝试查看中的解决方案或
。getElementsByName()
函数用于按表单字段的“name”属性检索表单字段。你需要
.getElementsByTagName()
在这里。只需使用
document.head
@torazaburo你应该提到IE只支持
document.head
版本9及更高版本。只需添加注释
就错了getElementsByName
已被弃用,可能是因为在HTML5中,
[…]已弃用了“name”属性[…]在适当的地方使用document.getElementById()方法
。这正是学校的问题所在。
name
getElementsByName
都不推荐使用,否则无法命名表单元素<代码>名称
仅对大多数元素无效,表单元素除外,如
输入
。。。
document.getElementById('theId')
document.getElementsByName('head')[0]