Javascript OR语句总是如此

时间:2016-01-12 16:04:58

标签: javascript wordpress

我想查看用户是否 登录到Wordpress(正文将包含“登录”类)或者如果用户不在 my-resources < / strong> section(foo.co.uk/my-resources/)。如果任何一个失败,我想要启动else语句。

但是我的代码 总是 恢复为真:

if(!$('body').hasClass('logged-in') || (document.location.href.indexOf('/my-resources/') === -1))
{
    console.log ( 'DO SOMETHING. The user is not logged in or in my resources' );
}
else
{
    console.log ( 'DO NOTHING. The user is logged in or in my resources' );
}

1 个答案:

答案 0 :(得分:1)

您正在处理逻辑错误。 else语句仅在if条件的否定为真时执行。否定您的情况是用户已登录并在/ my-resources /上。从问题中,您希望在用户登录或在/ my-resources /中执行else分支。将if语句更改为否则此else条件,即用户未登录且用户不在/ my-resources /中。 (只需将||更改为&&):

if(!$('body').hasClass('logged-in') && (document.location.href.indexOf('/my-resources/') === -1))