Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使一个元素出现而不触发同一类的其他元素_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何使一个元素出现而不触发同一类的其他元素

Javascript 如何使一个元素出现而不触发同一类的其他元素,javascript,jquery,html,Javascript,Jquery,Html,我必须制作一组出现和消失的按钮 它应该如何工作: 我单击链接1(此时链接2不可见) 然后会出现链接2 这里的问题是,同一类型的多个元素具有相同的类,我不知道如何区分只显示“link2” 与单击的“link1”相对应,而不触发另一个“link2” 有一些代码显示了我所取得的进展 提前谢谢你 <style> .hideaction{ visibility: hidden; } .showaction{ visibility: vis

我必须制作一组出现和消失的按钮

它应该如何工作:

  • 我单击链接1(此时链接2不可见)
  • 然后会出现链接2
  • 这里的问题是,同一类型的多个元素具有相同的类,我不知道如何区分只显示“link2” 与单击的“link1”相对应,而不触发另一个“link2”

    有一些代码显示了我所取得的进展

    提前谢谢你

    <style>
        .hideaction{
            visibility: hidden;
        }
        .showaction{
            visibility: visible;
        }
    </style>
    <script>
        $(document).ready(function(){
            $(".elem_action_showing").click(function(){
            $(".elem_action_hiding").removeClass("hideaction").addClass("showaction");
        });
    </script>
    </head>
    <body>
        <div class="elem_card card_set_click" style=" border: 1px solid black">
            <div class="elem_hidden">
                <p class="hideaction elem_action_hiding">%link2%</p>
            </div>
            <div class="elem_showing ">
                <p class="elem_action_showing set_click">%link1%</p>
            </div>
        </div>
        <div class="elem_card card_set_click" style=" border: 1px solid black">
            <div class="elem_hidden">
                <p class="hideaction elem_action_hiding">%link2%</p>
            </div>
            <div class="elem_showing ">
                <p class="elem_action_showing set_click">%link1%</p>
            </div>
        </div>
    </body>
    
    
    .隐匿{
    可见性:隐藏;
    }
    .表演{
    能见度:可见;
    }
    $(文档).ready(函数(){
    $(“.elem_action_show”)。单击(函数(){
    $(“.elem_action_hiding”).removeClass(“hideaction”).addClass(“showaction”);
    });
    

    %link2%

    %link1%

    %link2%

    %link1%


    无论有多少“.elem\u card”和“.hideaction”元素,解决方案都应该有效。

    问题在于您选择了所有
    .elem\u action\u hidden
    元素。若要修复此问题,请使用DOM遍历仅查找与单击的
    .elem\u action\u showing
    相关的元素。尝试以下操作:

    $(“.elem\u action\u show”)。单击(函数(){
    $(this).closest('.elem_showing').prev().find(“.elem_action_hiding”).toggleClass(“hideaction showaction”);
    });
    .hideaction{
    可见性:隐藏;
    }
    .表演{
    能见度:可见;
    }
    
    

    %link2%

    %link1%

    %link2%

    %link1%