javascript - 如何将脚本标签插入div?

时间:2011-09-01 04:26:54

标签: javascript

如何做到这一点:

document.getElementById('target').innertHTML = "<script> alert(1); <script>";
<div id="target"></div>

脚本将像浏览器一样在浏览器上打印。如何做脚本?

4 个答案:

答案 0 :(得分:7)

我认为使用纯DOM操作会更好。像这样:

var s = document.createElement('script');
s.setAttribute('type', 'text/javascript');
s.value = 'alert(1)';
document.getElementById('target').appendChild(s);

答案 1 :(得分:5)

请勿逃避<>

document.getElementById('target').innertHTML = "<script> alert(1); <\/script>";

答案 2 :(得分:0)

您不能再将innerHTML用于脚本。它无法正常工作,控制台也不会显示任何错误。相反,您可以动态添加脚本。

这是用于外部脚本的

var newScript = document.createElement("script");
newScript.src = "http://www.example.com/my-script.js";
target.appendChild(newScript);

这是用于内联脚本的

var newScript = document.createElement("script");
var inlineScript = document.createTextNode("alert('Hello World!');");
newScript.appendChild(inlineScript); 
target.appendChild(newScript);

Daniel Crabtree的信用

答案 3 :(得分:-1)

document.getElementById('target').innertHTML = '<script type="text/javascript"> alert(1); </script>';