克隆,更新和前置div

时间:2009-07-09 05:35:17

标签: jquery

我有一个页面,用户可以在其中发布问题。每当发布一个新问题时,我都会克隆div,用新值更新它,然后将div放在所有前面div之上。这是我的代码:

var lastDiv = $("#divAll div:last").clone();     
$("[id$='_imgPostAll']",lastDiv).attr("ImageUrl",post.d.sImageURL);
$("[id$='_lblNameAll']",lastDiv).html(post.d.sNickName); 
$("[id$='_lblTimeAll']",lastDiv).html(post.d.sDate);
$("[id$='_lblShareAll']",lastDiv).html(post.d.sShareComment);   
$("#divAll").prepend(lastDiv);
$("#divAll div:last").show("slow");`

更新的div未显示在页面上。但当我用var lastDiv = $(“#divAll div:last”)。clone()和var lastDiv = $(“#divAll”)。clone()时,更新的div出现但是它出现两次,三次取决于以前的div。我只希望它克隆最后一个div并用新值而不是所有以前的div更新它。

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

当您克隆div时,将使用克隆复制name属性。因此,当您稍后检索div进行重新克隆时,您无意中会抓取您已经制作的副本以及原始副本。

答案 1 :(得分:0)

你的最后一行是:

$("#divAll div:last").show("slow");`

但是您正在将克隆的div添加到容器中,因此克隆的div将首先出现。

显示第一个div:

$("#divAll div:first").show("slow");`

甚至更好,只需直接显示克隆的div:

lastDiv.show("slow");
相关问题