将CSS文件添加到javascript到单个.js文件中
我尝试将所有CSS代码附加到javaScript中,然后通过js文件加载,我这样做了,问题出在哪里?以下是我的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
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及更高版本。只需添加注释就错了下面正确的解决方案并不是一个真正有用的答案。请不要链接到w3schools。虽然随着时间的推移,他们修复了许多问题,但仍然存在很多缺陷和不准确之处。@t.niese感谢您所写的建议,即getElementsByName
已被弃用,可能是因为在HTML5中,[…]已弃用了“name”属性[…]在适当的地方使用document.getElementById()方法
。这正是学校的问题所在。name
和getElementsByName
都不推荐使用,否则无法命名表单元素<代码>名称
仅对大多数元素无效,表单元素除外,如输入
。。。
document.getElementById('theId')
document.getElementsByName('head')[0]