错误:语法错误,无法识别的表达式:#jquery

时间:2016-10-31 14:51:01

标签: javascript jquery

我有以下代码:

$('.questionAlternative').change(function() {
    var nestedQuestion = $(this).attr('nestedQuestion');
    if(nestedQuestion != null || nestedQuestion != "") {
        $("#"+nestedQuestion).show();
    } else {
        $(this).parent().next('.nestedQuestionContainer').hide();
    }
}

.questionAlternative是两个radiobuttons,是或否。

当我改为No时,我收到以下错误:

  

错误:语法错误,无法识别的表达式:#
  抛出新错误("语法错误,无法识别的表达式:" + msg);

我无法理解为什么。如果nestedQuestion为空,则不应进入If语句。但它似乎还在做它吗?

1 个答案:

答案 0 :(得分:6)

你的病情有误。它说“如果nestedQuestion不是null nestedQuestion不是"" ...”但""不是{{ 1}},因此null的条件为真。

将其更改为""):

&&

或仅使用if(nestedQuestion != null && nestedQuestion != "") { null falsy 的事实:

""

..实际上,if(nestedQuestion) { 永远不会给你attr。它只会给你一个字符串(可能是null)或""。 (但undefined是真的,所以......)