Javascript Jquery,点击标题,打开面板主体

Javascript Jquery,点击标题,打开面板主体,javascript,jquery,Javascript,Jquery,我有一个小组: <div class="panel"> <div class="panel-heading" style="cursor:pointer"> blablabla <div class="pull-right"><a href="#" data-perform="panel-collapse"><i class="ti-plus"></i></a> <a

我有一个小组:

<div class="panel">
        <div class="panel-heading" style="cursor:pointer"> blablabla
            <div class="pull-right"><a href="#" data-perform="panel-collapse"><i class="ti-plus"></i></a> <a href="#" data-perform="panel-dismiss"></a></div>
        </div>
        <div class="panel-wrapper collapse" aria-expanded="true">
            <div class="panel-body">
                unicorn
            </div>
        </div>
    </div>

喋喋不休
独角兽

我写了这个jquery:

<script>
    $('.panel').on('click', function() {
        $(this).children().toggleClass('panel-wrapper collapse, panel-wrapper collapse in');
    });
</script> 

$('.panel')。在('click',function()上{
$(this).children().toggleClass('panel-wrapper collapse,panel-wrapper collapse in');
});
但这会关闭面板,无论我在哪里单击它。现在我只想打开面板,如果我点击面板标题。(整个面板标题,当前仅当我单击该小
图标时面板才会打开)

如果我再次单击面板,它应该会再次关闭

将是一个封闭面板。如果没有
中的折叠,面板将关闭

我希望有人能在那里帮助我。我很抱歉我的英语不好


谢谢你的帮助:)

我猜这可能是你想要的

 <script>
        $('.panel-heading').on('click', function() {
            $(this).children().toggleClass('panel-wrapper collapse, panel-wrapper collapse in');
        });
    </script> 

$('.panel heading')。在('click',function()上{
$(this).children().toggleClass('panel-wrapper collapse,panel-wrapper collapse in');
});

我猜这可能是你想要的

 <script>
        $('.panel-heading').on('click', function() {
            $(this).children().toggleClass('panel-wrapper collapse, panel-wrapper collapse in');
        });
    </script> 

$('.panel heading')。在('click',function()上{
$(this).children().toggleClass('panel-wrapper collapse,panel-wrapper collapse in');
});
您应该使用
next()

$('.panel heading')。在('click',function()上{
$(this.next('.panel wrapper').toggleClass('in');
});

喋喋不休
独角兽
您应该使用
next()

$('.panel heading')。在('click',function()上{
$(this.next('.panel wrapper').toggleClass('in');
});

喋喋不休
独角兽


您能为您的代码创建plunker吗?但我认为您应该更改
toggleClass('panel-wrapper-collapse,panel-wrapper-collapse-in')
切换类('in')。不,我不能:/这是一个模板,我没有整个面板的javascript代码。你能为你的代码创建plunker吗?但我认为您应该更改
toggleClass('panel-wrapper-collapse,panel-wrapper-collapse-in')
切换类('in')
.No我不能:/that是一个模板,我没有整个面板的javascript代码。我以前也尝试过同样的方法,但没有任何效果。因为Panel wrapper collapse类不是Panel heading中的子类是否有多个Panel heading?我以前也尝试过同样的方法,但没有任何效果。因为Panel wrapper collapse类不是Panel heading中的子类是否有多个Panel heading?我认为您的代码比@Spencer Rohan中的代码片段运行得更好。但感谢你们俩:)很乐意帮忙:)。是的,斯宾塞的解决方案也不错,但是如果你可以直接访问一个元素,为什么要采用不同的方法呢?有没有办法顺利打开面板?现在它刚刚打开。这不是必须的,但会很棒。我还在学习jquery…@ShubhamKhatri现在已经很晚了,你是对的--我写下了答案,然后说,哦,等等--下一步()将是一条路要走。你赢了我一拳。WellNo查看@WellNo您可以使用slideToggle()。我已经更新了我的帖子,我认为你的代码会比@Spencer Rohan的代码片段运行得更好。但感谢你们俩:)很乐意帮忙:)。是的,斯宾塞的解决方案也不错,但是如果你可以直接访问一个元素,为什么要采用不同的方法呢?有没有办法顺利打开面板?现在它刚刚打开。这不是必须的,但会很棒。我还在学习jquery…@ShubhamKhatri现在已经很晚了,你是对的--我写下了答案,然后说,哦,等等--下一步()将是一条路要走。你赢了我一拳。WellNo查看@WellNo您可以使用slideToggle()。我已经更新了我的帖子我想你可以用sides()或next()来清理这个帖子我想你可以用sides()或next()来清理这个帖子