0

所以我有一个无法编辑的静态 HTML 页面,我需要向其中添加 jQuery,然后在准备好的文档上进行一些 div 操作(高度)。我发现这篇文章描述了如何将其插入页面,效果很好。我将它添加到我的 javascript 文件中,并将其插入到页面中。问题是我需要在同一页面上对 $(document).ready() 执行一些操作,但它说 $ 未定义。

我想做的是这样的:

var script = document.createElement('script');
script.src = 'http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);

$(document).ready(function() {
   // Resize my div's to the browser window
});

但我似乎无法让它工作。这可能吗?如何?

4

2 回答 2

2
var script = document.createElement('script');
script.src = 'http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js';
script.type = 'text/javascript';
script.onload = resize;                    //most browsers
script.onreadystatechange = function() {   //ie
    if (this.readyState == 'complete') {
        resize();
    }
}

document.getElementsByTagName('head')[0].appendChild(script);

function resize() {
   //code goes here
}
于 2013-02-16T07:14:19.833 回答
0

这是由于在 JS jQuery 文件加载之前触发了 ready 事件。这是一个关于如何做到这一点的好教程。

http://www.ejeliot.com/blog/109

尽管像这样加载您的 jQuery,但这不会帮助您的页面性能。您真的应该尝试最小化您的 JS 并使用尽可能少的请求以获得最佳用户体验。

另外,你不需要写

$(document).ready(function() { });

你可以写

$(function() { });
于 2013-02-16T07:14:06.927 回答