Javascript JSLint-未声明的';jQuery';警告
我试图使以下jQuery代码符合JSLintJavascript JSLint-未声明的';jQuery';警告,javascript,jquery,jslint,jshint,Javascript,Jquery,Jslint,Jshint,我试图使以下jQuery代码符合JSLint (function ($) { "use strict"; $('.addition').click(function () { $('.textbox:last,.addition:last,.subtraction:last,.replace:last').clone(true).appendTo('.replace:last'); $('.textbox:last').val("");
(function ($) {
"use strict";
$('.addition').click(function () {
$('.textbox:last,.addition:last,.subtraction:last,.replace:last').clone(true).appendTo('.replace:last');
$('.textbox:last').val("");
$('.addition:not(:last),.subtraction:not(:last)').attr('disabled','true');
});
$('.subtraction').click(function () {
if($('.replace').length === 1) {
$('.subtraction').click(function (event) {
event.preventDefault();
});
} else {
$('.textbox:last,.addition:last,.subtraction:last,.replace:last').remove();
$('.addition:last,.subtraction:last').removeAttr('disabled');
}
});
}(jQuery));
我的代码运行良好。我只是想清除JSLint警告。我不明白为什么JSLint在第}(jQuery)行上给我一个未声明的'jQuery'
警告代码>(最后一行)
更新
将jQuery声明为全局变量已清除警告 如果您使用的是jslint.com,则需要将jQuery添加到选项下的全局变量中如果您使用的是jslint.com,则需要替换代码的第一行。您需要添加“globaljquery”作为注释行。看这里
替换:
(函数($){
通过使用:
/*全局jQuery*/
jQuery(函数($){
祝你一切顺利。
Puspendu Mondal可能重复感谢。这清除了警告。你知道为什么需要这样做吗?np…jslint解析代码时没有假设,或者哪些变量是全局变量,除非你在“选项”部分设置它们。@user3421311如果你不告诉jslint哪些变量来自另一个作用域,它必须假设你没有正确的设置简单地声明了一些东西。也就是说,JSLint一次只处理一个文件,并且无法区分,如果你有var spam=“ham”
,那么sapm=“spiced ham”
是拼写错误还是sapm
来自父范围,除非你告诉它和你的程序员同事。这就是为什么它很有用的原因。“$=jQuery”更具体地说,您提到的这些jslint选项在哪里?