javascript - JQ 点击隐藏显示
伊谢尔伦
伊谢尔伦 2017-04-10 17:38:29
[JavaScript讨论组]

点击p1,让p2显示,点下一个p1,让第一个p2隐藏,第二个p2显示,
怎么实现啊

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(4)
天蓬老师

HTML:

<p class="p1">
    <ul></ul>
    <p class='p2'></p>
</p>
<p class="p1">
    <ul></ul>
    <p class='p2'></p>
</p>

CSS:

.p1 {
    width: 50px;
    height: 50px;
    background: yellow;
}
.p2 {
    width: 40px;
    height: 40px;
    background: red;
    display: none;
}

jQuery:

    $('.p1').click(function () {
       $(this).find('.p2').show()
               .end()
               .siblings('.p1').find('.p2').hide();
    });

仅仅想装B的用链式代码,写法可能有点拖沓。见谅。支持 scort 的写法。

高洛峰
$('.p1').click(function(){
    $('.p2').hide();
    $(this).find('.p2').show();
});
PHPz

如果元素少的话,加个id写动作就是,没必要用同一个class。

迷茫
    <p class="p1 active">
        我是p1
        <p class="p2" style="display: block;">我是p2</p>
    </p>
    <p class="p1">
        我是p1
        <p class="p2" style="display: none;">我是p2</p>
    </p>
    <script type="text/javascript">
        $(function(){
            $(document).on('click','.p1',function(){
                /*逻辑就是给当前显示的p1加上active,并展示当前点击的p1下的p2*/

                /*当然也可以直接使用css规定.p.active>.p2{display:block;}*/

                //检测点击的是否已经显示
                if(!$(this).hasClass('active')){
                    //点击的p1没有active
                    //去掉active并隐藏p2
                    $('.active').removeClass('active').find('.p2').hide();

                    //激活当前点击p1
                    $(this).addClass('active').find('.p2').show();
                };
            });
        }());
    </script>

写好了总要贴上来

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号