Javascript insertAfter()中断单击事件

Javascript insertAfter()中断单击事件,javascript,jquery,html,slidetoggle,insertafter,Javascript,Jquery,Html,Slidetoggle,Insertafter,我有以下由3个内容块组成的标记,每个内容块包含一个标题和一些内容: <div class="feed-panels-expanding"> <div class="feed"> <section> <h2><a href="#">Heading One</a></h2> <p>Ut in nulla enim. Phasell

我有以下由3个内容块组成的标记,每个内容块包含一个标题和一些内容:

<div class="feed-panels-expanding">
    <div class="feed">

        <section>

            <h2><a href="#">Heading One</a></h2>
            <p>Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin.</p>

            <div class="content">
                <p>Duis aliquet egestas purus in blandit. Curabitur vulputate, ligula lacinia scelerisque tempor.</p>
                <p>Lacus lacus ornare ante, ac egestas est urna sit amet arcu. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed molestie augue sit amet leo consequat posuere. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;</p>
                <p>Proin vel ante a orci tempus eleifend ut et magna. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus luctus urna sed urna ultricies ac tempor dui sagittis.</p>
            </div>

        </section>

        <section>

            <h2><a href="#">Heading Two</a></h2>
            <p>Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin.</p>

            <div class="content">
                <p>Duis aliquet egestas purus in blandit. Curabitur vulputate, ligula lacinia scelerisque tempor.</p>
                <p>Lacus lacus ornare ante, ac egestas est urna sit amet arcu. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed molestie augue sit amet leo consequat posuere. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;</p>
                <p>Proin vel ante a orci tempus eleifend ut et magna. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus luctus urna sed urna ultricies ac tempor dui sagittis.</p>
            </div>

        </section>

        <section>

            <h2><a href="#">Heading Three</a></h2>
            <p>Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin.</p>

            <div class="content">
                <p>Duis aliquet egestas purus in blandit. Curabitur vulputate, ligula lacinia scelerisque tempor.</p>
                <p>Lacus lacus ornare ante, ac egestas est urna sit amet arcu. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed molestie augue sit amet leo consequat posuere. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;</p>
                <p>Proin vel ante a orci tempus eleifend ut et magna. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus luctus urna sed urna ultricies ac tempor dui sagittis.</p>
            </div>

        </section>

    </div>
</div>
但是,脚本确实不喜欢我移动每个内容块中的第一个
p
元素。如果删除该行,脚本工作正常,单击相关标题时,所有面板都会展开/收缩

但是有了这一行代码,脚本什么也不做。我可以在单击标题时弹出一个
警报
语句,但它只会忽略
.content
元素

next()
查找所选元素之后的下一个元素。它不再是
内容
元素。下一个元素是刚才插入的段落

$(this).parent().siblings('.content').slideToggle(250);
next()
查找所选元素之后的下一个元素。它不再是
内容
元素。下一个元素是刚才插入的段落

$(this).parent().siblings('.content').slideToggle(250);
next()
查找所选元素之后的下一个元素。它不再是
内容
元素。下一个元素是刚才插入的段落

$(this).parent().siblings('.content').slideToggle(250);
next()
查找所选元素之后的下一个元素。它不再是
内容
元素。下一个元素是刚才插入的段落

$(this).parent().siblings('.content').slideToggle(250);

我想你想要的是手风琴。看看这个

我想你想要的是手风琴。看看这个

我想你想要的是手风琴。看看这个

我想你想要的是手风琴。查看此

下一步
仅查看以下单个同级元素,然后应用过滤器

现在简单的修复。将
nextAll
与您的
内容一起使用

$(this).find('h2 a').click(function() {
    $(this).parent().nextAll('.content').slideToggle(250);
    return false;
});
nextAll
只查看后面的元素,因此当您知道元素后面跟着时,它比同级元素更有效。

next
只查看后面的单个同级元素,然后应用过滤器

现在简单的修复。将
nextAll
与您的
内容一起使用

$(this).find('h2 a').click(function() {
    $(this).parent().nextAll('.content').slideToggle(250);
    return false;
});
nextAll
只查看后面的元素,因此当您知道元素后面跟着时,它比同级元素更有效。

next
只查看后面的单个同级元素,然后应用过滤器

现在简单的修复。将
nextAll
与您的
内容一起使用

$(this).find('h2 a').click(function() {
    $(this).parent().nextAll('.content').slideToggle(250);
    return false;
});
nextAll
只查看后面的元素,因此当您知道元素后面跟着时,它比同级元素更有效。

next
只查看后面的单个同级元素,然后应用过滤器

现在简单的修复。将
nextAll
与您的
内容一起使用

$(this).find('h2 a').click(function() {
    $(this).parent().nextAll('.content').slideToggle(250);
    return false;
});

nextAll
只查看后续元素,因此当您知道后续元素时,它比同级更有效。

我认为您的问题在于内容的选择检查代码段

您执行了$(this).parent()操作,它是h2标记而不是.content,并使用find better查找元素.content

$(this).parent().parent().find('.content').slideToggle(250);
//馈送面板展开
$('.feed面板展开部分')。每个(函数(){
$(this)。查找('h2 a')。单击(函数(){
//您使用了$(this).parent()开关,它是h2标记,而不是scetion,并使用find better
$(this.parent().parent().find('.content').slideToggle(250);
返回false;
});
$(this.find('.content p:first').insertAfter($(this.find('h2'));
$(this.find('.content').hide();
});

在努拉埃尼姆。不属于威尼斯人的大分子。这是一个悬而未决的宿命。毛里斯·亚库利斯·波特提托·波苏尔。我是马萨,我是布朗迪特·奥迪奥。普鲁因

布朗迪特的杜伊斯·阿利奎特·埃吉斯塔斯·普卢斯。乌鸦舌苔

如果你有空,你可以坐在那里。根据康努比亚·诺斯特拉(conubia nostra)和希梅纳奥斯(inceptos himenaeos)的规定,社会责任和责任等级为:。奥古斯特·穆莱斯蒂·奥古斯特·穆莱特·利奥·康塞奎特·波苏尔坐在那里。虎口浮雕和肘部浮雕同侧前庭

这是一个巨大的兽人时代。Lorem ipsum dolor sit amet,是一位杰出的献身者。鹿死腹中的鹿死腹中

在努拉埃尼姆。不属于威尼斯人的大分子。这是一个悬而未决的宿命。毛里斯·亚库利斯·波特提托·波苏尔。我是马萨,我是布朗迪特·奥迪奥。普鲁因

布朗迪特的杜伊斯·阿利奎特·埃吉斯塔斯·普卢斯。乌鸦舌苔

如果你有空,你可以坐在那里。根据康努比亚·诺斯特拉(conubia nostra)和希梅纳奥斯(inceptos himenaeos)的规定,社会责任和责任等级为:。奥古斯特·穆莱斯蒂·奥古斯特·穆莱特·利奥·康塞奎特·波苏尔坐在那里。虎口浮雕和肘部浮雕同侧前庭

这是一个巨大的兽人时代。Lorem ipsum dolor sit amet,是一位杰出的献身者。鹿死腹中的鹿死腹中

在努拉埃尼姆。不属于威尼斯人的大分子。这是一个悬而未决的宿命。毛里斯·亚库利斯·波特提托·波苏尔。我是马萨,我是布朗迪特·奥迪奥。普鲁因

布朗迪特的杜伊斯·阿利奎特·埃吉斯塔斯·普卢斯。乌鸦舌苔

如果你有空,你可以坐在那里。一类有能力的人