逻辑和运算符在javascript中无法正常工作

时间:2011-11-25 10:29:01

标签: javascript jquery operators

我正在检查document.ready和&&amp ;;运营商不工作 代码段 lbl值为空。

$(function () {
 var lblValue = $("#lblRadioText").text();
    if (lblValue.length > 0 && hasWhiteSpace(lblValue) > 0) {
        $("#rdExportLastTime").css('display', 'inline');
    }
});

function hasWhiteSpace(text) {
    return text.indexOf(' ') >= 0;
}
你可以告诉我出了什么问题。

3 个答案:

答案 0 :(得分:3)

您正在尝试检查您的布尔值是否大于0。

您不需要第二个> 0

if (lblValue.length > 0 && hasWhiteSpace(lblValue)) {
    $("#rdExportLastTime").css('display', 'inline');
}

实际上,这对操作没有任何影响,但仍然不需要。

代码似乎对我很好(稍微适合测试): http://jsfiddle.net/infernalbadger/ZGAj5/1/

答案 1 :(得分:3)

您正在从hasWhiteSpace()中返回一个布尔值,因此您应跳过条件中的> 0

答案 2 :(得分:0)

您确定操作员&&失败吗?

如果您将代码重写为:

,该怎么办?
var lblNotZero = lblValue.length > 0;
var hasWhiteSpace = hasWhiteSpace(lblValue) > 0;
if(lblNotZero && hasWhiteSpace)
{
  $("#rdExportLastTime").css('display', 'inline');
}

现在设置一个断点(或使用alert输出)来检查lblNotZerohasWhiteSpace的值。

每当您怀疑诸如&&之类的语言基础不能正常工作时,请重新考虑。这些都经过了极好的测试。