клонировать, обновить и предварительно добавить div - PullRequest
0 голосов
/ 09 июля 2009

У меня есть страница, где пользователи могут оставлять вопросы. Каждый раз, когда публикуется новый вопрос, я клонирую 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.

Ваша помощь будет по достоинству оценена.

Ответы [ 2 ]

1 голос
/ 09 июля 2009

Похоже, когда вы клонируете div, атрибут name копируется вместе с клоном.Поэтому, когда вы позже извлекаете div для повторного копирования, вы случайно получаете уже сделанные копии и оригинал.

0 голосов
/ 09 июля 2009

Ваша последняя строка гласит:

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

Но вы добавляете клонированный div в контейнер, поэтому клонированный div появится первым.

Показывает первый div вместо:

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

или даже лучше, просто покажите клонированный div напрямую:

lastDiv.show("slow");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...