首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将元素添加到jquery的手风琴小部件

将元素添加到jquery的手风琴小部件
EN

Stack Overflow用户
提问于 2011-10-19 10:24:51
回答 1查看 370关注 0票数 0

我有一个jquery手风琴部件,列出了可以正常工作的项目部件(它们也是可排序的)。但是用户可以通过使用html输入元素来添加项目部件。

我想把这个新元素放在手风琴小部件的前面。

我的方法如下:销毁手风琴和可排序小部件,然后克隆小部件的第一个元素,并将其添加到被克隆的元素中,以便新元素成为第一个元素。在此之后,只需使小部件再次手风琴和排序。

它确实重新创建了小部件,但是它不包括添加的元素!我不明白为什么不.

正在转换为小部件的html:

代码语言:javascript
复制
    <div id="accordion">
        <div>
            <h3><a href="#">Part</a></h3>
            <div>
                Some explaining text
            </div>
        </div>
    </div>

javascript/jquery使手风琴第一次加载,并使可排序的手风琴和手风琴一起工作(停止函数):

代码语言:javascript
复制
var stop = false;
$('#accordion h3').click(function(e) {
    if (stop) {
        e.stopImmediatePropagation();
        e.preventDefault();
        stop = false;
    }
});
$('#accordion')
    .accordion({
        header: '> div > h3',
        fillSpace: true
     })
     .sortable({
         axis: 'y',
         handle: 'h3',
         stop: function() {
             stop = true;
     }
});

将元素克隆并添加到小部件并重新创建小部件的javascript:

代码语言:javascript
复制
$('#accordion').accordion("destroy").sortable("destroy");
$("#accordion > div:first").clone().prependTo("#accordion > div:first");
$('#accordion')
    .accordion({
        header: '> div > h3',
        fillSpace: true
    })
    .sortable({
        axis: 'y',
        handle: 'h3',
        stop: function() {
            stop = true;
        }
     });
EN

Stack Overflow用户

回答已采纳

发布于 2011-10-27 14:19:01

好吧,有时候解决办法很明显。问题在于使用prependTo()函数。应该是: insertBefore() /Solved

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7819845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档