Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javascript添加到HTML文件并使用document ready_Javascript_Jquery_Document Ready - Fatal编程技术网

将javascript添加到HTML文件并使用document ready

将javascript添加到HTML文件并使用document ready,javascript,jquery,document-ready,Javascript,Jquery,Document Ready,所以我有一个无法编辑的静态HTML页面,我需要向其中添加jQuery,然后在文档就绪时执行一些div操作(高度)。我发现它描述了如何将其插入页面,这非常有效。我将其添加到javascript文件中,并将其插入页面。问题是我需要在同一页上对$(document).ready()执行一些操作,但它说$未定义 我想做的是这样的: var script = document.createElement('script'); script.src = 'http://jqueryjs.googlecode

所以我有一个无法编辑的静态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
});

但我似乎无法让它发挥作用。这可能吗?如何执行?

这是由于在加载JS jQuery文件之前触发了ready事件。这里有一个很好的教程介绍如何做

这样加载jQuery对页面性能没有帮助。您应该尽量减少JS,使用尽可能少的请求,以获得最佳的用户体验

而且,你不需要写

$(document).ready(function() { });
你可以直接写

$(function() { });

(offT)1.2.6有点旧,不是吗?在使用jQuery之前,您必须等待脚本加载。你可以通过一个简单的谷歌搜索找到如何做到这一点。@roXon是的:)我刚刚从另一篇文章中复制了代码。我使用的是最新版本。@jfriend00您的意思是使用$(windows.load()?我做了一个简单的谷歌搜索,这就是我发现的。链接?不,您必须实际监视脚本何时加载。普雷斯科特的回答说明了这一点。太棒了,我会看看这个。在这种情况下,页面性能并不是一个真正的问题,我只需要让这个功能正常工作。@jfriend00但他有一个问题,$还不可用,对吗?
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
}