将Javascript注入DOM

时间:2012-05-11 14:58:42

标签: javascript jquery dom

我试图动态地将一些js注入到DOM元素中以便执行。但是,如果我在$(document).ready()注入,则不会对脚本进行评估(但会正确注入)。此外,如果我尝试在DOM加载时注入,则容器元素尚不存在。我已经通过对容器内的脚本标签进行硬编码进行了测试,这非常有用。有没有办法将js注入DOM元素并在DOM准备好或页面加载时进行评估?

$(document).ready(function(){
    var container = document.getElementById('container_div');
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.appendChild(document.createTextNode('[script]'));
    container.appendChild(script);
    //I've also tried .insertBefore and
    //.parentNode.insertBefore and jQuery's .append()
});

我想要完成的是什么?

1 个答案:

答案 0 :(得分:1)

纯粹的javascript:

var s = document.createElement('script');
s.setAttribute('src','js/myscript.js');
document.body.appendChild(s);

这是来自jQuerify我用它来“导入”jquery到任何页面,所以我可以用firebug破解它,但它应该适用于任何脚本。