如何将以下代码转换为三元方式?
if(epaper.othermakemodel.is(':checked')){
$("#dcolor").insertAfter("#lmodel");
}else{
$("#dcolor").insertBefore("#otherlabeldiv");
}
最佳答案
这会起作用:
var c = epaper.othermakemodel.is(':checked');
$("#dcolor")["insert" + (c ? "After" : "Before")](c ? "#lmodel" : "#otherlabeldiv");
或者甚至是一句台词:
$("#dcolor")["insert" + (epaper.othermakemodel.is(':checked') ? "After" : "Before")](epaper.othermakemodel.is(':checked') ? "#lmodel" : "#otherlabeldiv");
但是,这只是为了使用运算符而使用三元运算符。
保持代码简短,但更重要的是,保持代码可读:
var element = $("#dcolor");
if(epaper.othermakemodel.is(':checked')){
element.insertAfter("#lmodel");
}else{
element.insertBefore("#otherlabeldiv");
}
如果一年后您必须维护代码,这将使所有相关人员免于头痛。
关于javascript - 如何以三元方式使用 insertAfter 和 insertBefore 代码转换 if block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23083066/