开发者

How to append a line of JavaScript (rather than an exteral .js file)?

I want to append a script tag which executes one line of JavaScript to the head of a 开发者_开发百科document, rather than appending a script tag which is empty and uses the src attribute.

Here's what I've got so far:

<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>

It's the appendChild(scriptContents) part that I'm having trouble with. How do I change this to get the alert to appear in the browser?


You need to append it as a text node. Try this:

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


You can't do

theScript.appendChild(scriptContents);

as appendChild() only appends nodes, it can't append text. You need to make a text node with:

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

However, as Jake mentioned above, you probably just want to do:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜