Is there an "exists" function for jQuery? Is there an "exists" function for jQuery? javascript javascript

Is there an "exists" function for jQuery?


In JavaScript, everything is 'truthy' or 'falsy', and for numbers 0 means false, everything else true. So you could write:

if ($(selector).length)

You don't need that >0 part.


Yes!

jQuery.fn.exists = function(){ return this.length > 0; }if ($(selector).exists()) {    // Do something}

This is in response to: Herding Code podcast with Jeff Atwood


If you used

jQuery.fn.exists = function(){return ($(this).length > 0);}if ($(selector).exists()) { }

you would imply that chaining was possible when it is not.

This would be better:

jQuery.exists = function(selector) {return ($(selector).length > 0);}if ($.exists(selector)) { }

Alternatively, from the FAQ:

if ( $('#myDiv').length ) { /* Do something */ }

You could also use the following. If there are no values in the jQuery object array then getting the first item in the array would return undefined.

if ( $('#myDiv')[0] ) { /* Do something */ }