jQuery的if语句,语法

23

如果A和B都为真,则只有一个简单的jQuery语句可以说明操作进行。如果A不为真,则停止。如果A和B都为真,则继续。


3
根据您的要求,这似乎是一个普遍的JavaScript问题 -- 您可以请澄清其中具有jQuery特定性质的部分吗? - Alex Martelli
我的完整调用是jQuery...(我只是使用了一些CSS重写...) - Kevin Brown
2
我希望你意识到jQuery只是一个,而语言仍然是JavaScript - jrharshath
3
是的,harshath.jr,我明白了。 - Kevin Brown
2
我假设OP正在寻找一些东西,可以导致像这样的jQuery结构: $(selector).DoIf(function(){return A && B})//继续jQuery链接,但只有在DoIf谓词成功时才会发生操作 - stevenrcfox
1
在这种情况下,$(selector).filter(function(index)) 可以实现他所需要的功能。 - stevenrcfox
7个回答

87

jQuery只是一个库,它可以增强Web浏览器中DOM的功能;底层语言是JavaScript,正如你所希望的那样,作为一种编程语言,它具有执行条件逻辑的能力,即...

if( condition ) {
    // do something
}

测试两个条件也很简单:

if( A && B ) {
    // do something
}

亲爱的上帝,我希望这不是一个恶作剧...


10

您可以将jQuery调用包装在普通的JavaScript代码中。例如:

$(document).ready(function() {
    if (someCondition && someOtherCondition) {
        // Make some jQuery call.
    }
});

3
除了其他人所说的之外,A和B也可以是返回布尔值的函数调用。如果A返回false,则B将永远不会被调用。
if (A() && B()) {
    // if A() returns false then B() is never called...
}

2
只要 A() 不返回 false 或 null,它就是 true。 - Schotime

2
这取决于您所说的“停止”的含义。如果它在一个可以返回void的函数中,则:
if(a && b) {
    // do something
}else{
    // "stop"
    return;
}

1
if(A && B){ }

0

我稍微高端一点的方法:

$(selector).is(condition)? alert('true') : alert('false');

例:

$("#btn-primary").is(":disabled")? alert('button disabled') :  alert('button disabled');

-1
如果您正在使用Jquery来操作DOM,那么我发现以下是在Jquery语句中包含逻辑的好方法:
$(selector).addClass(A && B?'classIfTrue':'');

这个回答与所问的问题不符。 - Kevin Brown

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接