Ошибки jQuery Lint не описательны - PullRequest
1 голос
/ 08 июня 2011

Я хочу использовать jQuery Lint для проверки возможных ошибок jQuery.

Я хотел попробовать это на простом скрипте, который работает. Я включил JQuery Lint все в порядке, установить его на уровень 2 и BAM было 3 ошибки.

jQuery(.highlightimage) special check failed

jquery.lint.js (line 100)

More info:

Selector: .highlightimage Selectors should be as specific as possible and should be "class only"

Collection: []

Location:

@http://localhost:53402/Resources/Scripts/jquery-1.6.1.min.js:16

@http://localhost:53402/Resources/Scripts/highlights.js:15

@http://localhost:53402/Resources/Scripts/jquery-1.6.1.min.js:16

@http://localhost:53402/Resources/Scripts/jquery-1.6.1.min.js:16 

Что? Строка 15:

hl_elements = $(".highlightimage");

Что означает эта ошибка? Селектор содержит 5 элементов, поэтому он действителен. Это настолько конкретно, насколько это возможно.

в $ (document) .ready (function () {/ вот сценарии /}); часть.

Все мои селекторы терпят неудачу таким образом. Что я делаю не так?

Я использую jquery 1.6.1, возможно, он еще не поддерживается, но уже есть тестовые примеры для jquery 1.6.1 на github, и они работают нормально.

Другие ошибки:

trigger(ready) called incorrectly
jquery.lint.js (line 100)

More info:
Collection: [Document localhost:53402]

Location:
@http://localhost:53402/Resources/Scripts/jquery-1.6.1.min.js:16
jquery.lint.js (line 115)
You passed: ["ready"]

Available signatures include:
trigger(eventType, extraParameters)
trigger(event)

Я получаю это при загрузке страницы.

Я получаю это каждый раз, когда изображение меняется.

jQuery.removeData([object HTMLImageElement],fxqueue,true) called incorrectly
jquery.lint.js (line 100)

More info:
Location:
@http://localhost:53402/Resources/Scripts/jquery-1.6.1.min.js:16 
@http://localhost:53402/Resources/Scripts/jquery-1.6.1.min.js:18 
@http://localhost:53402/Resources/Scripts/jquery-1.6.1.min.js:18
jquery.lint.js (line 115)
You passed: [img.highlightimage /Documen..._293.png, "fxqueue", true]

Available signatures include:
jQuery.removeData(element, [name])

Но если я переключусь на jquery 1.4.4, этого не произойдет.

1 Ответ

3 голосов
/ 08 июня 2011

Исходный код на https://github.com/jamespadolsey/jQuery-Lint/blob/551c2106ac0daee95a670fb180610d09e58bb4cc/jquery.lint.js#L711 говорит:

// Найти только селекторы класса Производительность IE6-8)

Так что, думаю, в этом причина предупреждения. Если вы хотите использовать селектор только для класса, я бы подумал, что вы можете игнорировать его.

(я предполагаю, что в тексте ошибки должно быть сказано «и НЕ должно быть« только для класса »».)

...