我正在尝试使用insertBefore将脚本添加到dom中。
当通过控制台运行命令时,脚本按预期执行,但当通过代码运行相同的代码段时,脚本拒绝执行。
这是我正在使用的代码。
var el = document.getElementsByTagName('div')[0];
var s = document.createElement('script');
s.text = 'alert("abc");'
el.parentNode.insertBefore(s, el.nextSibling)
el.parentNode.replaceChild(s.childNodes[0], el);
el = s.childNodes[0];
for(var i = s.childNodes.length - 1; i >= 0 ; i--)
el.parentNode.insertBefore(s.childNodes[i], el.nextSibling);这是将脚本添加到DOM,但不执行它。A
发布于 2012-03-02 16:11:52
我无法复制您的问题:
http://jsfiddle.net/treeface/8F8bK/
您确定您的代码在DOM完全加载后运行吗?如果不是这样的话,您可能希望像这样运行此代码:
window.onload = function() {
var el = document.getElementsByTagName('div')[0];
var s = document.createElement('script');
s.text = 'alert("abc");'
el.parentNode.insertBefore(s, el.nextSibling)
};https://stackoverflow.com/questions/9529986
复制相似问题