How to negate code in "if" statement block in JavaScript -JQuery like 'if not then..'

krzyhub picture krzyhub · Jul 13, 2011 · Viewed 112.3k times · Source

For example if I want to do something if parent element for used element hasn't got ul tag as next element, how can I achieve this?

I try some combination of .not() and/or .is() with no success.

What's the best method for negate code of a if else block?

My Code

if ($(this).parent().next().is('ul')){
   // code...
}

I want to achieve this

Pseudo Code:

if ($(this).parent().next().is NOT ('ul')) {
    //Do this..
}

Answer

Justin Ethier picture Justin Ethier · Jul 13, 2011

You can use the Logical NOT ! operator:

if (!$(this).parent().next().is('ul')){

Or equivalently (see comments below):

if (! ($(this).parent().next().is('ul'))){

For more information, see the Logical Operators section of the MDN docs.