Check if element exists in jQuery [duplicate]

Check if element exists in jQuery [duplicate]

This question already has an answer here:

Is there an “exists” function for jQuery?

40 answers

How do I check if an element exists if the element is created by .append() method?
$(‘elemId’).length doesn’t work for me.


Solution 1:

$('elemId').length doesn’t work for

You need to put # before element id:


With vanilla JavaScript, you don’t need the hash (#) e.g. document.getElementById('id_here') , however when using jQuery, you do need to put hash to target elements based on id just like CSS.

Solution 2:

Try to check the length of the selector, if it returns you something then the element must exists else not.

 if( $('#selector').length )         // use this if you are using id to check
     // it exists

 if( $('.selector').length )         // use this if you are using class to check
     // it exists

Solution 3:

Try this:

if ($("#mydiv").length > 0){
  // do something here

The length property will return zero if element does not exists.

Solution 4:

How do I check if an element exists

if ($("#mydiv").length){  }

If it is 0, it will evaluate to false, anything more than that true.

There is no need for a greater than, less than comparison.

Solution 5:

your elemId as its name suggests, is an Id attribute, these are all you can do to check if it exists:

Vanilla JavaScript: in case you have more advanced selectors:

//you can use it for more advanced selectors


//you can use it if your selector has only an Id attribute



Solution 6:

You can also use array-like notation and check for the first element.
The first element of an empty array or collection is simply undefined, so you get the “normal” javascript truthy/falsy behaviour:

var el = $('body')[0];
if (el) {
    console.log('element found', el);
if (!el) {
    console.log('no element found');