0

我已经动态创建了一个 DIV,我希望它包含一个 JavaScript 链接,它会在上面输出一些东西。JavaScript 链接源是绝对的。显然,这不起作用:

var div = document.createElement('div');
    div.id = 'mydiv';
    div.innerHTML = "<script type='text/javascript' " + 
                    "src='http://mydomain.com/myscript.js'></script>";
    document.body.appendChild(div);

所以我尝试了这个

var script = document.createElement('script')
    script.setAttribute('type', 'text/javascript');
    script.setAttribute('src', 'http://mydomain.com/myscript.js');

var div = document.createElement('div');
    div.id = 'mydiv';

    div.appendChild(script);
    document.body.appendChild(div);

在我的脚本文件中,我有一个简单的alert('Testing...');代码。问题是它不起作用。脚本包含在 div 中输入(当我在 Chrome 中检查 DIV 时会看到它),但它不起作用。我没有看到“正在测试...”消息。我错过了什么或做错了什么?谢谢!

4

2 回答 2

1

我理解它的方式,你的代码不会等到 DOM 准备好。

建议使用 jquery 的ready,这将确保传递给它的脚本仅在 DOM 准备好后运行

希望这可以帮助

于 2012-06-04T16:51:33.527 回答
0
<html>
<head>  
</head> 
<body>  
<script type='text/javascript'> 
    var script = document.createElement('script')
    script.setAttribute('type', 'text/javascript');
    script.setAttribute('src', 'my.js');

    var div = document.createElement('div');
    div.id = 'mydiv';

    div.appendChild(script);
    document.body.appendChild(div); 
</script> 
</body>
</html>

这段代码对我有用,但是是的,document.write()对我不起作用。

于 2012-06-04T17:06:36.377 回答