jQuery .load()不加载脚本

时间:2011-03-29 02:27:19

标签: jquery

我有类似于load_to.html页面

的jQuery .load()函数
$('#targetID').load('/load_from.html #bodyPart, script')

但是,这似乎不是从load_from.html页面加载javascript。有什么办法,我可以加载javascript。

2 个答案:

答案 0 :(得分:8)

如何使用.getScript()

http://api.jquery.com/jQuery.getScript/

答案 1 :(得分:5)

来自jQuery的documentation for .load()

  

jQuery使用浏览器的.innerHTML   用于解析检索到的属性   记录并将其插入   目前的文件。在此过程中,   浏览器经常过滤元素   <html><title>等文件,   或<head>元素。

要加载脚本,您应该在文档<script>中自己创建<head>元素:

$('<script>', {src: 'js_file.js'}).appendTo('head');

也许您可以通过ajax请求从服务器加载的脚本列表:

$.post('scripts_to_load.json', function (data) {
    for (var i = 0; i < data.scripts.length; i++) {
        $('<script>', {src: data.scripts[i]}).appendTo('head');
    }
});