У меня проблемы со ссылками на соответствующие HTML-элементы с помощью ссылки "this" в javascript с использованием метода "parent". Предположим, мой HTML-код выглядит следующим образом:
<ul id="list" >
<li id="Template" >
<a href="#" >
<h3 class="Name" ></h3>
</a>
<a class="Link" ></a>
</li>
</ul>
Используя jquery, я могу динамически создавать ссылки из элементов в списке:
var jqXHR = $.getJSON( url, params, function(obj, status, xhr){
var obj = jQuery.parseJSON(xhr.responseText);
for (var i=0; i < obj.length; i++)
{
var newEntryRow = $('#Template').clone();
newEntryRow.removeAttr('id');
newEntryRow.data('userID', obj[i].id);
newEntryRow.appendTo('#list');
newEntryRow.find('.Name').text(obj[i].user_name);
newEntryRow.find('.Link').click(function(){
var clickedUser = $(this).parent();
var clickedUserID = clickedUser.data('userID');
});
}
Приведенный выше код назначит "id" каждой ссылке, созданной в списке (0, 1, 2 ...); тем не менее, jquery не работает для следующего HTML:
<ul id="list" >
<li id="Template" >
<a class="Link" >
<h3 class="Name" ></h3>
</a>
</li>
</ul>
Второй фрагмент HTML также создает список из 5 ссылок «Имя»; однако jquery назначает «неопределенное» (в сравнении с действительным идентификатором - 0, 1, 2, 3, 4) каждой из ссылок, созданных в списке. Может кто-нибудь сказать мне, почему 2-й фрагмент HTML-кода не работает и как я могу изменить код JQuery так, чтобы ссылки были назначены действительный идентификатор (вместо "неопределенного")?
Спасибо!