¿Existe algún soporte incorporado en jQuery para la comprobación básica de las afirmaciones, principalmente de elementos como "número esperado de elementos devueltos".jQuery assertion support/programación defensiva?
Por ejemplo es posible que tenga una declaración simple como esto:
$("#btnSignup").click(function() {
return validateForm();
);
Ahora theres un montón de razones por las $("#btnSignup")
puede no volver exactamente 1 punto:
- Usted ha escrito mal el nombre botón Identificación
- Alguien lo renombró por error
- No existe en la página
- Hay dos elementos con esa identificación por error
- Está utilizando ASP.NET MVC y ha generado accidentalmente el código HTML para el botón con
HtmlHelper.Button(...)
en lugar deHtmlHelper.Submit()
. El métodoButton(...)
NO crea una ID para el elemento del botón.
Ahora en esta instancia (y en muchas instancias) mi aplicación simplemente no funcionará a menos que EXACTAMENTE se devuelva un elemento del selector. Entonces SIEMPRE quiero que me digan si $("@#btnSignup")
no devuelve exactamente 1 artículo. Entonces, ¿cómo puedo hacer esto? Estoy bien si se trata de una excepción o, preferiblemente, un cuadro de alerta, así que si no estoy ejecutando un depurador, entonces se me puede decir.
Estoy buscando sintaxis algo así - que es similar en funcionalidad al método de extensión .NET Single()
.
$("#btnSignup").assertSingle().click(function() {
return validateForm();
);
or
$("#btnSignup").assertSize(1).click(function() {
return validateForm();
);
Estaría bien si este código SIEMPRE se ejecuta y le dice a quien sea que hay un problema. obviamente no es un performance issue para ejecutar este código adicional para toda la eternidad. En este caso, mi código se rompe si #btnSignup
no existe.
Estoy seguro de que este problema ha sido golpeado hasta la muerte y hay muchas soluciones, pero ¿alguien puede señalarme algunas de ellas?
No veo nada incorporado en jQuery y me pregunto cuál es el mejor complemento. Prefiero tener algo en la página que pueda seguir 'mirándome' y decirme si hay algún problema. Ni siquiera me opondría a que se realice una llamada AJAX a un servicio de informe de errores.
No es que mi vida dependa de ello, sino un voto positivo/acce pt sería bueno, sin embargo. ;-) – Tomalak
@tomalak, sabes que realmente creo que HAGO clic en él, pero creo que fue porque mi intenet estaba siendo escamosa y estaba demasiado ocupado probándolo para darme cuenta de que tu voto no fue aprobado. Obtuve 7kb/s en sentido ascendente y 58.34kb/s en sentido descendente en un cablemódem. en cualquier caso eres bienvenido y gracias de nuevo! –
Internet todavía escamosa? ;) – Tomalak