How do you check if a selector matches something in jQuery? [duplicate]
As the other commenters are suggesting the most efficient way to do it seems to be:
if ($(selector).length ) { // Do something}
If you absolutely must have an exists() function - which will be slower- you can do:
jQuery.fn.exists = function(){return this.length>0;}
Then in your code you can use
if ($(selector).exists()) { // Do something}
As answered here
no, jquery always returns a jquery object regardless if a selector was matched or not.You need to use .length
if ( $('#someDiv').length ){}
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)) { }