第一个语句有效,但最后一个语句无效。无法解决。
第一次按应显示第一个隐藏的内容,然后第二次按应显示第三个隐藏的内容,然后按钮应自行删除。让我们来找出语法错误(除非我真的搞砸了。)
$(document).ready(function() {
$("#v2i").hide();
$("#v3i").hide();
$("#vAdd").click(function(){
if ($("#v2i").not(":visible")) {
$("#v2i").show();
} else if ( ($("#v2i").is(":visible")) && ($("#v3i").not(":visible")) ) {
$("#v3i").show();
$(this).hide();
}
});
});
最佳答案
.not()
不是测试,它用于选择元素。您不需要使用 not
,因为 jQuery 有一个 :hidden
选择器,它与 :visible
相反。您需要写:
if ($("#v2i").is(":hidden")) {
$("#v2i").show();
} else if ( ($("#v2i").is(":visible")) && ($("#v3i").is(":hidden")) ) {
$("#v3i").show();
$(this).hide();
}
此外,无需在第二个 if
中检查 #v2i
,因为您已经在第一个 if
中对其进行了测试。仅当 #v2i
可见时,您才会进入 else if
。所以它应该是:
if ($("#v2i").is(":hidden")) {
$("#v2i").show();
} else if ($("#v3i").is(":hidden")) {
$("#v3i").show();
$(this).hide();
}
关于javascript - jQuery/js 条件语句未通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43013904/