Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Пропадает ссылка при динамическом создании <table> (https://javascript.ru/forum/jquery/21590-propadaet-ssylka-pri-dinamicheskom-sozdanii-table.html)

MadGest 16.09.2011 13:17

Пропадает ссылка при динамическом создании <table>
 
Формирую таблицу следующим образом
$("#content").empty();
					var table = $("<table/>");
					var a = $("<a/>").attr("href","javascript://").text("Изменить");
										
					$.each(response, function(i,item){
						var tr = $("<tr/>");
						$(tr).append($("<td/>").text(item.id));
						$(tr).append($("<td/>").text(item.key));
						$(tr).append($("<td/>").text(item.group));
						$(tr).append($("<td/>").text(item.location));
						$(tr).append($("<td/>").text(item.amount));
						$(tr).append($("<td/>").append(a));
						
						$(table).append(tr);						
					});
					
					$(table).appendTo("#content");


Стабильно не появляется первая ссылка в последнем td первого tr.

bayrach 16.09.2011 13:34

Скажу даже больше - у тебя эта ссылка будет появляться только в последнем tr. Переменная a объявляется до цикла, а jquery append как работает? Правильно, он выдергивает с одного места и вставляет в другое :)

MadGest 16.09.2011 13:37

Источник проблемы понятен.
Получается решение такое

$(tr).append($("<td/>").append($("<a/>").attr("href","javascript://").text("Изменить")));


или создание ссылки прямо в цикл включить.

bayrach 16.09.2011 15:25

включай в цикл
p.s. зачем писать $(tr), $(table)? Они ведь итак jquery object

nikita.mmf 16.09.2011 16:19

MadGest,
ваш код является ярким примером "как не надо делать на jquery".


Часовой пояс GMT +3, время: 15:29.