如果data.entities.length>切换显示/隐藏div。 0,三级运算符不能用于Javascript / jQuery?

时间:2014-11-19 16:31:30

标签: javascript jquery html

如果data.entities.length > 0我需要切换可见/隐藏两个不同的DIV,这就是我正在做的事情:

if (data.entities.length > 0) {
    var toggle = data.entities.length ? true : false;

    // if condition is true then this will show otherwise it will hides
    $('#resultadoNorma').toggle(toggle); 

    // this is the reversal process
    // if condition is true then this will goes hide otherwise it will goes show
    $("#sinResultadosBuscarNormas").toggle(!toggle); 
}

但它不起作用,因为没有DIV显示/隐藏无论发生什么条件,错误是什么?我可以在Javascript中使用三级运算符吗?

1 个答案:

答案 0 :(得分:1)

您对条件运算符的使用位于if()语句中,只有在.length为正时才会成功,因此toggle始终为true

您应该删除if()声明。

var toggle = data.entities.length ? true : false;

$('#resultadoNorma').toggle(toggle); 
$("#sinResultadosBuscarNormas").toggle(!toggle); 

或者只是摆脱条件,并直接传递.length。尽管如此,强迫一个布尔可能是个好主意。

$('#resultadoNorma').toggle(!!data.entities.length); 
$("#sinResultadosBuscarNormas").toggle(!data.entities.length);