$(document).ready(function () {
$("#img-1").click(function () {
switch (true) {
case $("#div2").load("borrower-information.html"):
alert(hello);
break;
case ($("#div3").load("demo_test.html #p3")):
break;
case ($("#div4").load("demo_test.html #p4")):
alert('hello');
}
});
});
我已经制作了3个div,并且有一个按钮的id名称是id = img-1,点击其他来源的页面加载它确定但我的查询是警报不起作用为什么?
答案 0 :(得分:3)
switch (true)
表示“选择使用严格相等(case
)”评估为true
的第一个===
。您的所有案例都没有使用严格相等来评估true
。它们都会产生jqXHR
个对象,虽然这些对象不是=== true
。所以他们都不匹配。
这适用于:例如:
var a = 42;
switch (true) {
case a == 67:
console.log("a == 67 is true");
break;
case a == 42:
console.log("a == 42 is true");
break;
}
...因为它使a == 42 is true
出现在控制台中,因为表达式a == 42
为true
,因此它与switch (true)
匹配。但这是对switch
的一种非常非常不寻常的用法。无论你想做什么,都可能有更好的方法。