1

スワップを切り替えるためのリンクが内部にある一連のオブジェクトがあります。「次の」スワップ アルゴリズムは、現在のオブジェクトを次のオブジェクトに追加します。

$('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()ターゲットとそれが内部にある正しい「新しい」(?) foodivとの間の接続を再確立するにはどうすればよいですか?

これが実際の例です:http://jsfiddle.net/Z863z/2/

4

1 に答える 1

2

そのはず...

currentObject.insertAfter(nextObject);

...代わりにnextObject.append(currentObject); 説明のためにこのフィドルをチェックしてください(そしていくつかの流線も)。あなたの目標は、現在のコンテナを次のコンテナのに移動することです。

元のコードは、現在の要素を次の要素に配置しています。そのため、ルックアップが機能しなくなります。構造が壊れます。

于 2013-06-05T00:20:18.807 に答える