1

我在代码中有很多条件,其中元素的显示/隐藏取决于输入值是否为空。

这些行是否存在任何较短的版本?

if ($("input#x").val())
{
   $("#lbl_y").show();
}
else
{
   $("#lbl_y").hide();
}
4

4 回答 4

6
$("#lbl_y").toggle($("input#x").val());
于 2012-09-18T23:13:16.467 回答
1

您可以使用这样的结构:

$("#lbl_y")[$("input#x").val() ? 'show' : 'hide']();
于 2012-09-18T23:14:16.513 回答
1

本质上,您可以将其简化为一行-

($("input#x").val() == ''?  $("#lbl_y").show() :  $("#lbl_y").hide() )

我在这里使用三元运算符。在这种情况下,它的行为很像一个简单的条件语句。它检查某个条件的评估,并根据true/false语句返回的值执行一项或另一项任务。

(condition ? true : false)
于 2012-09-18T23:14:35.363 回答
1

像这个三元运算符你的意思是:

你可以.is(':empty')用来做空检查!

var resultofexpression = conditionasboolean ? truepart: falsepart;

在你的情况下:

$("input#x").is(':empty') ?   $("#lbl_y").show(); : $("#lbl_y").hide();
于 2012-09-18T23:14:38.437 回答