【发布时间】:2011-04-22 10:14:55
【问题描述】:
我正在构建一个 javascript 小部件,我需要将我的小部件 css 和 js 文件动态添加到客户端页面。
我现在正在这样做:
var css = document.createElement('link');
css.setAttribute('rel', 'stylesheet');
css.setAttribute('href', 'css path');
document.getElementById('test').appendChild(css);
alert(document.getElementById('test').innerHTML);
但它不会将元素添加到 dom。 警报显示正确。
我错过了什么?
编辑1:
这是更新后的代码:(注意这只是一个测试页面)。
<html>
<head>
</head>
<body>
<div id="test">
test
</div>
<script type="text/javascript">
var css = document.createElement('link');
css.setAttribute('rel', 'stylesheet');
css.setAttribute("type", "text/css");
css.setAttribute('href', 'path');
var header = document.getElementsByTagName("head")[0];
header.appendChild(css);
alert(header.innerHTML);
</script>
</body>
</html>
header.InnerHtml 显示正确,但页面中没有添加任何内容。
【问题讨论】:
-
您实际上是将
href设置为"css path",还是设置为您的CSS 的实际路径? - 另外,将 CSS 附加到<head>。 -
路径正确。我已将 url 粘贴到浏览器中,它显示了我的 css 文件。
-
路径正确,但是文件css的权限对吗?如果您直接插入文档,文件是否被正确解析?
-
嗯,路径似乎有点错误。现在可以了。谢谢。
标签: javascript css dom widget append