开发者

jQuery selector what's difference between jQuery("element") and $("element")?

开发者 https://www.devze.com 2023-03-19 00:42 出处:网络
I used jQuery many times ago, but always used like this: $(document). Lately i seen many times somebody using jQuery(document), I don\'t know difference between them, I thought they are same.

I used jQuery many times ago, but always used like this: $(document). Lately i seen many times somebody using jQuery(document), I don't know difference between them, I thought they are same.

But I have very hard problem now. You know most of jQuery plugin uses $(document开发者_如何学运维) method. Now I have one must use plugin that uses jQuery(document). I must include that, but after included I can't no longer use $(document) method and plugins which uses it.

How can I solve it?


$ is just a short reference to the global jQuery object.

window.$ === window.jQuery // true

Most plugin authors make sure that the dollar sign really is referencing the jQuery object, by putting it into a self-invoking method.

(function( $ ) {
    // $(document)
}( jQuery ));

By invoking that anonymous method with the jQuery object as argument, we can access it within the method via $.


@jAndy provides a good explanation about $ and jQuery in general.

However for your specific problem, it seems that the plugin somehow makes $ unavailable, which either means that it overwrites $ with something else (unlikely) or that it calls jQuery.noConflict().

If it does, have a look why it is doing this. Maybe it includes another library that needs $ for its own working.

Usually, plugins should never assume that $ is available for them. @jAndy showed how to use $ if only jQuery is available.

In addition if you put all your own code in the ready handler, the first argument passed is the global jQuery object, so you can name the parameter as you want:

jQuery(function($) {
    // your code here
}); 
0

精彩评论

暂无评论...
验证码 换一张
取 消