javascript-如何向div插入脚本标记?

javascript-如何向div插入脚本标记?,javascript,Javascript,如何做到这一点: document.getElementById('target').innertHTML = "&lt;script&gt; alert(1); &lt;script&gt;"; <div id="target"></div> document.getElementById('target').innertHTML=“脚本警报(1);脚本”; 脚本将像字符串一样在浏览器上打印。如何做是作为脚本?只是不要逃避您的s: d

如何做到这一点:

document.getElementById('target').innertHTML = "&lt;script&gt; alert(1); &lt;script&gt;";
<div id="target"></div>
document.getElementById('target').innertHTML=“脚本警报(1);脚本”;

脚本将像字符串一样在浏览器上打印。如何做是作为脚本?

只是不要逃避您的
s:

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

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

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

您不能再将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

你可能想使用<代码> <代码>,所以代码中的脚本标签不会在字符串文字的中间被关闭。不要用脚本标记来写它,我已经使用了CealEngEnter。谢谢你回答我的问题。我投你的票。这不会执行/评估注入的脚本。
var newScript = document.createElement("script");
var inlineScript = document.createTextNode("alert('Hello World!');");
newScript.appendChild(inlineScript); 
target.appendChild(newScript);