Существует ли какая-либо встроенная поддержка в jQuery для базовой проверки утверждений, в первую очередь, таких как «ожидаемое количество возвращаемых элементов».
Например, у меня может быть простое утверждение, подобное этому:
$("#btnSignup").click(function() {
return validateForm();
);
Теперь есть множество причин, по которым $("#btnSignup")
может не вернуть ровно 1 предмет:
- Вы неправильно набрали имя идентификатора кнопки
- Кто-то по ошибке переименовал его
- Не существует на странице
- Есть два элемента с таким идентификатором по ошибке
- Вы используете ASP.NET MVC и случайно сгенерировали HTML-код для кнопки с
HtmlHelper.Button(...)
вместо HtmlHelper.Submit()
. Метод Button(...)
НЕ создает идентификатор для элемента кнопки.
Теперь в этом случае (и во многих случаях) мое приложение просто не будет работать, если ТОЛЬКО один элемент не будет возвращен из селектора. Так что я ВСЕГДА хочу сказать, если $("@#btnSignup")
не возвращает ровно 1 элемент. Так как я могу это сделать ?! Я в порядке, если это исключение или желательно окно с предупреждением - поэтому, если я не работаю в отладчике, мне могут сказать.
Я ищу синтаксис, похожий на этот, который похож по функциональности на метод расширения .NET Single()
.
$("#btnSignup").assertSingle().click(function() {
return validateForm();
);
or
$("#btnSignup").assertSize(1).click(function() {
return validateForm();
);
Лично мне будет хорошо, чтобы этот код ВСЕГДА запускался и сообщал кому бы то ни было, что есть проблема. очевидно, что проблема производительности не заключается в том, чтобы запускать этот дополнительный код вечно. В этом случае мой код не работает, если #btnSignup
не существует.
Я уверен, что эта проблема была избита до смерти, и есть много решений - но может кто-нибудь указать мне на некоторые из них?
Я не вижу ничего встроенного в jQuery и хотел бы знать, какой плагин лучший. Я бы предпочел, чтобы на странице было что-то, что могло бы «следить» за мной и сообщать мне, если есть проблема. Я бы даже не возражал против вызова AJAX службы отчетов об ошибках.