我有一个jquery手风琴部件,列出了可以正常工作的项目部件(它们也是可排序的)。但是用户可以通过使用html输入元素来添加项目部件。
我想把这个新元素放在手风琴小部件的前面。
我的方法如下:销毁手风琴和可排序小部件,然后克隆小部件的第一个元素,并将其添加到被克隆的元素中,以便新元素成为第一个元素。在此之后,只需使小部件再次手风琴和排序。
它确实重新创建了小部件,但是它不包括添加的元素!我不明白为什么不.
正在转换为小部件的html:
<div id="accordion">
<div>
<h3><a href="#">Part</a></h3>
<div>
Some explaining text
</div>
</div>
</div>javascript/jquery使手风琴第一次加载,并使可排序的手风琴和手风琴一起工作(停止函数):
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:
$('#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;
}
});发布于 2011-10-27 14:19:01
好吧,有时候解决办法很明显。问题在于使用prependTo()函数。应该是: insertBefore() /Solved
https://stackoverflow.com/questions/7819845
复制相似问题