简体   繁体   English

单击新的h3后隐藏先前打开的p标签

[英]Hide previous opened p tag after clicking new h3

I made this show hide example where when i click on h3 then description that is p tag will be show but here i'm getting problem. 我做了这个显示隐藏的例子,当我单击h3 ,将显示p标签的描述,但是在这里我遇到了问题。 I want to hide previous p which opened after click on new h3 . 我想隐藏在单击新h3后打开的先前p Any solution for it? 有什么解决办法吗? I'm not getting it. 我不明白。 Please help. 请帮忙。

 $("h3").click(function(){ $(this).next("p").toggle("slow"); }); 
 p{display:none;} .f,.s{float:left;margin:10px} h2{margin:0px} 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <div class="f"> <h2> Web Development </h2> <ul> <li><h3> edfdfs </h3> <p> jkksfhskhsdf hf dh dhffsdh hfdd s </p> </li> <li><h3> fsfsf sd </h3> <p> jhjsdhfsjkf hdsjfhh dh shds khsdk sd </p></li> <li><h3> dfsdfdfs </h3> <p> kdhs hkdhj djh sdh sdkh </p></li> <li><h3> dcsdcs </h3> <p> kjsdjjskd </p></li> </ul> </div> <div class="s"> <h2> Web Development </h2> <ul> <li><h3> edfdfs </h3> <p> jkksfhskhsdf hf dh dhffsdh hfdd s </p> </li> <li><h3> fsfsf sd </h3> <p> jhjsdhfsjkf hdsjfhh dh shds khsdk sd </p></li> <li><h3> dfsdfdfs </h3> <p> kdhs hkdhj djh sdh sdkh </p></li> <li><h3> dcsdcs </h3> <p> kjsdjjskd </p></li> </ul> </div> <div class="t"> <h2> Web Development </h2> <ul> <li><h3> edfdfs </h3> <p> jkksfhskhsdf hf dh dhffsdh hfdd s </p> </li> <li><h3> fsfsf sd </h3> <p> jhjsdhfsjkf hdsjfhh dh shds khsdk sd </p></li> <li><h3> dfsdfdfs </h3> <p> kdhs hkdhj djh sdh sdkh </p></li> <li><h3> dcsdcs </h3> <p> kjsdjjskd </p></li> </ul> </div> 

While you use toggle you simply need to hide other p but not the next p 在使用toggle您只需要隐藏其他p而不隐藏下一个p

$("h3").click(function(){
    $('.f p').not($(this).next("p")).hide();
    $(this).next("p").toggle("slow");
});

Demo 1 if you need to hide the other p inside each parent div 演示1, 如果您需要在每个parent div中隐藏其他p

 $("h3").click(function(){ $(this).closest('.containDiv').find('p').not($(this).next("p")).slideUp(); $(this).next("p").slideToggle(); }); 
 p{display:none;} 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <div class="f containDiv"> <h2>Web Development</h2> <ul> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> </ul> </div> <div class="s containDiv"> <h2>Web Development</h2> <ul> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> </ul> </div> <div class="t containDiv"> <h2>Web Development</h2> <ul> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> </ul> </div> 

Demo 2 if you need to hide all p inside all divs 演示2, 如果您需要在所有div中隐藏所有p

 $("h3").click(function(){ $('.containDiv').find('p').not($(this).next("p")).slideUp(); $(this).next("p").slideToggle(); }); 
 p{display:none;} 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <div class="f containDiv"> <h2>Web Development</h2> <ul> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> </ul> </div> <div class="s containDiv"> <h2>Web Development</h2> <ul> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> </ul> </div> <div class="t containDiv"> <h2>Web Development</h2> <ul> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> <li> <h3>edfdfs</h3> <p>jkksfhskhsdf hf dh dhffsdh hfdd s</p> </li> </ul> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM