javascript - jQuery/js 条件语句未通过

标签 javascript jquery conditional-statements

第一个语句有效,但最后一个语句无效。无法解决。

第一次按应显示第一个隐藏的内容,然后第二次按应显示第三个隐藏的内容,然后按钮应自行删除。让我们来找出语法错误(除非我真的搞砸了。)

$(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/

相关文章:

javascript - "+"js中的字符回显来自html页面的编辑数据被替换为数据库中的空白

java - IZpack java条件调试(IZpack 4)

javascript - WebStorm,使用 Node Supervisor(所以每次代码更改后不必重新启动)?

javascript - 当我们单击特定选项卡时,如何隐藏 Accordion 菜单项中打开的所有选项卡?

javascript - 如何区分不同优化器优化的javascript

java - Spring Boot @ConditionalOnProperty 不加载 bean

perl - Perl 打开中的语法错误

javascript - jQuery:雅虎自动完成/自动建议

jquery - 如何在加载后删除部分 URL

javascript - Vue Draggable 无法与 filterBy 一起使用?