相关疑难解决方法(0)

Javascript/jsLint:当使用"use strict"时,用什么替换jQuery(this);

当我用jslint验证以下代码时,我得到以下错误.

function displayMegaDropDown() {
"use strict";
var liMegaPosition, divMegaOffset;
liMegaPosition = jQuery(this).position();
divMegaOffset = { top: liMegaPosition.top + jQuery(this).height(), left: liMegaPosition.left };
jQuery(this).find("div").offset(divMegaOffset);

jQuery(this).addClass("hovering");
}
Run Code Online (Sandbox Code Playgroud)

第4行字符29处的问题:严格违规.

 liMegaPosition = jQuery(this).position();  
Run Code Online (Sandbox Code Playgroud)

第5行的问题56:严格违规.

divMegaOffset = { top: liMegaPosition.top + jQuery(this).height(), left: liM...
Run Code Online (Sandbox Code Playgroud)

第6行第12个问题:严格违规.

jQuery(this).find("div").offset(divMegaOffset);
Run Code Online (Sandbox Code Playgroud)

第8行第12个问题:严格违规.

jQuery(this).addClass("hovering");
Run Code Online (Sandbox Code Playgroud)

我猜这是因为使用了jQuery(这个),但我不明白要用什么替换它.请注意,这不是因为jQuery未声明为全局.

javascript jquery jslint use-strict

23
推荐指数
1
解决办法
4728
查看次数

如何从循环中删除一个函数,使其与JSLint兼容?

我正在尝试制作插件JSLint证明,并且正在努力解决以下错误消息:

Don't make functions within a loop.
Run Code Online (Sandbox Code Playgroud)

抱怨这个片段:

 for ( i = 0; i < pops.length; i++){
    pops.eq(i)
        .addClass('reverse out '+trans)
        .hide('fast')
        .removeClass('ui-panel-active')
        .find(".ui-page-active")
           .not("div:jqmData(show='first')")
           .removeClass('ui-page-active').end()
        .find(".ui-btn-active")
           .removeClass('ui-btn-active').end()
        .find('div:jqmData(external-page="true")')
           .remove().end().end()
           .delay(350)
           // the problem
           .queue(function(next){
               $(this).removeClass('reverse out pop slide');
                 next();
                 });

            ...
        }
Run Code Online (Sandbox Code Playgroud)

我理解问题出在哪里,但不知道如何使它符合JSlint标准.

问题:
如何使函数脱离循环?

谢谢!

javascript loops jslint

0
推荐指数
1
解决办法
79
查看次数

标签 统计

javascript ×2

jslint ×2

jquery ×1

loops ×1

use-strict ×1