如何附加一行JavaScript(而不是外部.js文件)?

时间:2010-07-16 17:42:14

标签: javascript html dom

我想附加一个脚本标记,它将一行JavaScript执行到文档的头部,而不是附加一个空的脚本标记并使用src属性。

这是我到目前为止所得到的:

<script type="text/javascript">
var scriptContents = 'alert("hi")';
var theScript = document.createElement('script');
theScript.type = 'text/javascript';
theScript.appendChild(scriptContents);
document.getElementsByTagName('head')[0].appendChild(theScript);
</script>

这是我遇到麻烦的appendChild(scriptContents)部分。如何更改此设置以使警报显示在浏览器中?

2 个答案:

答案 0 :(得分:6)

您需要将其作为文本节点附加。试试这个:

theScript.appendChild(document.createTextNode(scriptContents));

答案 1 :(得分:4)

你做不到

theScript.appendChild(scriptContents);

因为appendChild()只附加节点,所以不能附加文本。您需要创建一个文本节点:

var scriptContents=document.createTextNode('alert("hi");')

然而,正如杰克上面提到的,你可能只想做:

eval('alert("hi")');