什么是“jQuery(函数($){”用于什么?

时间:2018-02-07 18:23:10

标签: jquery syntax

我对网络编程很陌生。

寻找一个jQuery函数,我找到了类似的东西:

jQuery(function($) {
    $('#EleId1').click(function () {
        //do stuff
    }
    $('#EleId2').click(function () {
        //do other stuff
    }

}); 

但是如果我删除“jQuery(function($) {”并且最终“});”仍然有效且我在控制台中没有错误。

所以关于“jQuery(function($) {”的问题是:
是推荐(作为最佳实践还是更易读的代码)还是出于其他原因需要它?

修改 在类似的问题中,“jQuery”缺失,所以对于那些不知道“$”等同于“jQuery”的人来说似乎不是一个完全相同的问题,如下面的评论所述。

1 个答案:

答案 0 :(得分:1)

代码:

std::vector<int>

的简写
jQuery(function() {
  

在文档准备好之前,页面无法安全操作。&#34; jQuery为您检测这种准备状态。包含在$(document).ready()中的代码只有在页面文档对象模型(DOM)准备好执行JavaScript代码时才会运行。

https://learn.jquery.com/using-jquery-core/document-ready/

$( document ).ready(function() { vs jQuery:&#34; jQuery&#34; =&#34; $&#34; - $jQuery(function()相同 - 因为其他图书馆使用&#34; $&#34;你可以明确地使用jQuery,这样就不会发生冲突。

  

默认情况下,jQuery使用$作为jQuery的快捷方式。因此,如果您正在使用另一个使用$ variable的JavaScript库,则可能会遇到与jQuery的冲突。

https://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/

因此,您可以使用$(function()代替jQuery(function,而在其他地方定义$。

所以对于问题中的代码,与其他问题略有不同,函数调用有一个传递jQuery本身的参数,所以问题中的代码:

$(function

确保函数内的所有代码都可以访问jQuery(function($) { ,而函数外部的 函数可能会或可能没有$定义到不同的库。< / p>

这可以通过使用不同的变量代替上面的$来证明:

&#13;
&#13;
$
&#13;
jQuery(function(replacementJquery) {
  replacementJquery("#id").text("updated")
});
&#13;
&#13;
&#13;

如果您没有使用另一个使用<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id='id'>original</div>的库,那么您可以安全地使用:

$

如果你正在编写一个除了jQuery之外可以与其他库一起使用的库,那么使用:

$(function() {

并在函数

中安全使用jQuery(function($) {