UL の LI の下にあるすべてのアンカーへのバインディングを作成しています。(仕事で1.6 jQueryバージョンを使用しているため、デリゲートを使用しています)。とにかく、何らかの理由でテキストアンカーを削除します。その後、後で再度適用します。
つまり、アンカータグをデリゲートにバインドし、何らかの条件のためにアンカータグを削除する方法はありますか? アンカーを (ラップ経由で) 再適用してから、そのバインディングを元に戻しますか?
明確にするために、「デリゲート」を使用していますが、アンカータグをアンラップすると、再度ラップしてもバインディングが失われます。あら。
jQuery(pc).delegate("li > a",'click', function(){
showit(jQuery(this).closest('li').index());
pc.find("li:not(:has(a))").wrap('<a href="#">'); <-- this is when I add it lateron
jQuery(this).replaceWith(jQuery(this).text()); <-- this is when I remove it.
});
編集:::おそらく、これは将来誰かを助けるかもしれません。DELEGATE は意図したとおりに機能します。私のコードを確認すると、li 内のテキストではなく、 "LI" をラップしていることがわかります。そのため、イベントはバインドを保持しませんでした。LI のテキストをアンカー、ビンゴでラップすると、うまくいきました。人の時間をずらして申し訳ありません。したがって、この場合の解決策は「wrap」ではなく「wrapInner」です。