如何在 Javascript/Jquery 中解决这个复杂的 if 语句

how to solve this complex if-statement in Javascript/Jquery?

本文关键字:复杂 语句 if 解决 Javascript Jquery      更新时间:2023-09-26

我需要从函数中排除元素,并且正在为 if 子句而苦苦挣扎......

我可以有四种类型的元素,具有三个属性

             A                  B               C          D
-----------------------------------------------------------------
"external"   undefined     boolean/undefined   boolean     boolean
"wrapper"    boolean       undefined           boolean     undefined
"parent"     1             0                   1          1

我需要构造一个只允许 AB 通过的 if 子句,我快疯了......

这是我所拥有的:

// "from" is my element to check
if ( 
   ( typeof from.jqmData("external-page") == "undefined" 
            && from.parents('body').length == 1 ) 
     || 
   ( typeof from.jqmData("external-page") == "boolean" 
             && from.parents('body').length == 0 )
   ) {
     // do something    
     }

有人可以帮助我并让我走上正轨吗?

谢谢!

这会起作用吗:

if (from.parents('body').length === 0 || typeof from.jqmData('external-page') === 'undefined') {
    // do something
}