好的,我认为我最好清理一下,以便更清楚地说明问题所在。我有一个脚本可能在已加载jQuery的网站上运行,但可能是错误的版本。所以我加载了正确版本的jQuery,然后调用以下内容:
myVar = jQuery.noConflict();
当我去编写一个专门使用我所包含的jQuery版本的函数时,应该如何构造它?
(function($) {
$.myPlugin = function(options) {
// Code here
}
}(myVar));
似乎不起作用。我收到错误“TypeError:$ is null”
答案 0 :(得分:1)
加载您的jQuery版本,初始化您的插件,然后使用$.noConflict(true)
恢复到以前版本的jQuery。
基本上你需要确保在你需要的jQuery版本加载之后运行这段代码:
(function($) {
//...
}(jQuery));
使用传递jQuery作为参数的原因是,即使全局jQuery
和$
已更改,您的插件也始终使用正确版本的jQuery。本地函数参数$
将始终引用IIFE首次执行时出现的jQuery版本。
如果您想检查可用版本是否与您需要的版本兼容,请使用$().jquery
来确定版本号。
答案 1 :(得分:1)
当前版本的jQuery可以使用jQuery().version
答案 2 :(得分:0)