什么是$(function(){}); 做?

有时候我做一个函数,稍后调用这个函数。

例:

function example { alert('example'); } example(); // <-- Then call it later 

不知何故,有些函数是不能被调用的,我必须在里面调用这些函数:

 $(function() { }); 

什么是$(function() {});(function() { }); 是什么意思,这些有什么不同/目的?

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

仅仅是jQuery的简称

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

它的目的是确保在页面的所有DOM元素都可以使用的时候调用你的函数。

但是,我不认为这是你的问题 – 你能澄清你的意思吗?“不知何故,某些function是不能被调用,我必须调用这些function”? 也许发布一些代码来显示什么不按预期工作?

编辑:重新阅读你的问题,这可能是你的function在页面加载完成之前运行,因此将无法正确执行; 把它放在$(函数)将确实修复!

以下是一个jQuery函数调用:

 $(...); 

这是“jQueryfunction”。 $是一个函数,$(…)是你调用该函数。 你提供的第一个参数如下:

 function() {} 

这个参数是你指定的函数,当DOM完成加载时,'$'函数将调用提供的方法。

这只是$(document).ready()的缩写,如下所示: $(document).ready(function() { YOUR_CODE_HERE }); 。 有时你必须使用它,因为你的函数在DOM完成加载之前正在运行。

一切都在这里解释: http : //docs.jquery.com/Tutorials : Introducing_$(document).ready()

我想你可能会混淆Javascript与jQuery方法。 香草或平原的Javascript是这样的:

 function example() { } 

这种性质的function可以随时随地调用。

jQuery(一个build立在Javascript上的库)内置了一些函数,通常需要在被调用之前完全呈现DOM。 这完成的语法是:

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

因此,一个jQuery函数,前缀$或单词jQuery通常在该方法内调用。

 $(document).ready(function() { // Assign all list items on the page to be the color red. // This does not work until AFTER the entire DOM is "ready", hence the $(document).ready() $('li').css('color', 'red'); }); 

该块的伪代码是:

当文档对象模型$(document)准备好.ready() ,调用以下函数function() { } 。 在该函数中,检查页面$('li')上的所有<li>并使用jQuery方法.CSS()将CSS属性“color”设置为值“red” .css('color', 'red');

这是$(document).ready()一个快捷方式,当浏览器完成加载页面时(这里指“当DOM可用时”),这个快捷方式会被执行。 请参阅http://www.learningjquery.com/2006/09/introducing-document-ready 。 如果您在浏览器加载完页面之前尝试调用example() ,则可能无法正常工作。