使用append()移动对象后,jQuery侦听器目标似乎中断了

jQuery listener target seems to break after the object is moved with append()

本文关键字:目标 侦听器 中断 jQuery append 移动 对象 使用      更新时间:2023-09-26

我有一系列的对象,里面有一个链接来切换交换。"next"交换算法将当前对象附加到下一个对象。

$('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在里面吗?

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

应该是…

currentObject.insertAfter(nextObject);

…代替nextObject.append(currentObject);检查这个小提琴的插图(以及一些流线)。您的目标是将当前容器移动到下一个之后。

您的原始代码将当前元素放在下一个元素中。这就是查找不再工作的原因:结构被破坏了。