我有一系列对象,这些对象内部都有链接来切换交换。 “下一个”交换算法将当前对象附加到下一个对象。

$('a.getNext').click(function() {
    var selector = 'div.foo';
    var currentObject = $(this).parents(selector).first();
    var nextObject = currentObject.nextAll(selector).first();
    nextObject.append(currentObject);
});


发生交换,但是调用交换的链接(在“当前”上下文中)不再起作用。看着调试器,再次单击链接并查看对象currentObject似乎是什么之后,它在浏览器中为空白。如何重新建立click()目标与其所在的正确“ new”(?)foo div之间的连接?

这是一个工作示例:http://jsfiddle.net/Z863z/2/

最佳答案

它应该是...

currentObject.insertAfter(nextObject);


...而不是nextObject.append(currentObject);检查this fiddle以获得插图(以及一些简化的内容)。您的目标是将当前容器移到下一个容器之后。

您的原始代码将当前元素放入下一个元素。这就是查找不再起作用的原因:结构损坏了。

09-10 13:14