如果data.entities.length>;0,第三运算符不';不支持Javascript/jQuery?
如果如果data.entities.length>;0,第三运算符不';不支持Javascript/jQuery?,javascript,jquery,html,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(tog
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中使用第三个运算符吗?您使用的条件运算符在if()
语句中,该语句只有在长度为正时才会成功,因此切换
将始终为真
您应该删除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);
你的三级考试没有意义。它总是会产生true,因为这是执行它所必需的if
的条件。它根本不起作用,这个{“消息”:“No se encontraron normas”,“entities”:[]}
是data.entities.length
的来源,对于这种情况,意味着没有实体,因此长度应该为零$(“sinResultadosBuscarNormas”)
不显示且$(“#resultadoNorma”)
不适用hide@ReynierPM:将其反转。当.length
为0
时,sinResultadosBuscarNormas
应显示,而另一个应隐藏。无论如何,这就是在代码中写入逻辑的方式。如果您希望相反,则反转布尔值。但如果您对根本不工作,然后描述这意味着什么。你是说既不露也不藏?你必须传达这些信息。也许我从一开始就错了,对此很抱歉,我的想法是:如果data.entities.length>0
,那么#resultadoNorma.show&&sinResultadosBuscarNormas.hide
否则相反的#resultadoNorma.hide&sinResultadosBuscarNormas.show
(这是一种伪代码). 我应该说,默认情况下,\resultadoNorma&&sinResultadosBuscarNormas
都是隐藏的,意思是style=“display:none”
。我将逻辑反转为$('#resultadoNorma').toggle(!data.entities.length)
和$(“#sinResultadosBuscarNormas”).toggle(!!data.entities.length)代码>并且它不工作意味着逻辑是错误的OK,如果您想在.length>0
时显示resultadoNorma
,则原始逻辑是正确的。如果它不起作用,那么还有其他问题,您必须提供问题的完整演示。但问题中显示的唯一问题是使用此代码修复的。