我有两个 div,#content 和 #contentSwap。我正在将一些数据加载到#contentSwap,对其执行一些操作,然后将其与#content 交换。我正在使用 html() 函数来交换两者,但我刚刚意识到这导致了一个问题:我使用 click() 分配给 #contentSwap 中的锚点的函数丢失了。以下是代码示例:
$('#contentSwap').html(data);
$('#contentSwap a').each(function(){
$(this).click(function(){
// Do whatever
});
});
$('#content').html($('#contentSwap').html());
$('#contentSwap').html("");
在此之后,使用 click() 分配的函数在 #content 中不起作用。
但是,如果我使用 attr() 函数来修改每个 div 的 id,那么 click() 函数会一直存在。但这并非每次都有效,并且会导致各种错误,包括#content和#contentSwap的多个副本等。这是代码:
$('#content').attr("id", "contentSwap1");
$('#contentSwap').attr("id", "content");
$('#contentSwap1').attr("id", "contentSwap");
$('#contentSwap').html("");
如何有效地交换 #content 和 #contentSwap 而不会丢失我分配给它的 click() 函数?