Patterns for avoiding jQuery silent fails

Posted by Matias on Stack Overflow See other posts from Stack Overflow or by Matias
Published on 2010-06-15T18:24:48Z Indexed on 2010/06/15 18:32 UTC
Read the original article Hit count: 173

Is there any good practice to avoid your jQuery code silently fail?

For example:

$('.this #is:my(complexSelector)').doSomething();

I know that every time this line get executed, the selector is intended to match at least one element, or certain amount of elements. Is there any standard or good way to validate that?

I thought about something like this:

var $matchedElements = $('.this #is:my(complexSelector)');
if ($matchedElements.length < 0)
    throw 'No matched elements';
$matchedElements.doSomething();

Also I think unit testing would be a valid option instead of messing the code.

My question may be silly, but I wonder whether there is a better option than the things that I'm currently doing or not. Also, maybe I'm in the wrong way checking if any element match my selector. However, as the page continues growing, the selectors could stop matching some elements and pieces of functionality could stop working inadvertently.

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about jQuery