我有以下代码..
function showNext(opt) {
takeAway();
if(opt == "Picked Up") $("#pickedup").css("display", "");
if(opt == "Bus to alternate") $("#altad2").css("display", "");
if(opt == "Walk to alternate") $("#altad1").css("display", "");
}
function takeAway(){
$("#pickedup").css("display", "none");
$("#altad2").css("display", "none");
$("#altad1").css("display", "none");
}
在这种情况下,如果有人选择公交车替代或步行替代,则会分别显示 altad2 和 altad1
但这不是我想要的..
我想要的是,如果有人选择公交车来替代,它会同时显示 altad2 和 altad1,如果有人选择步行来替代,它也会显示同样的内容。
有没有一种简单的方法可以做类似的事情
if(opt == "Bus to alternate") $("#altad2").css("display", "") and $("#altad1").css("display", "");
if(opt == "Walk to alternate") $("#altad1").css("display", "") and $("#altad2").css("display", "");
最佳答案
更好的方法是创建一个 map ,它将减少代码大小并变得更快。
function showNext(opt) {
takeAway()
var optMap={
"Picked Up":"#pickedup",
"Bus to alternate":"#altad2,#altad1",
"Walk to alternate":"#altad2,#altad1",
}
$(optMap[opt]).css("display","") ;
}
function takeAway(){
$("#pickedup,#altad2,#altad1").css("display", "none");
}
将所有 id 保留在一个选择器中,并以逗号分隔。在此它只会创建一个 jquery 对象。
关于javascript - Jquery 多个操作 1 if,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15008872/