id
должен быть уникальным для каждого элемента, поэтому удалите атрибут id
из li
.
Поскольку вы добавляете атрибут данных во вновь созданный li
, вам необходимо использовать li
какселектор и :eq(index)
для получения правильного li
каждый раз.
Сделайте, как показано ниже: -
console.log($(".usersOfGroupList li:eq("+i+")").data('userIdFromGroups'));
Пример жесткого кода: -
result = [{'Id':1,'FirstName':'A','LastName':'B'},{'Id':2,'FirstName':'C','LastName':'D'}];
$.each(result, function (i, value) {
$('.usersOfGroupList').append($("<li data-userId='' ></li>").data('userIdFromGroups', value.Id).html(value.FirstName + " " + value.LastName));
console.log($(".usersOfGroupList li:eq("+i+")").data('userIdFromGroups'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="usersOfGroupList">
Полный код должен быть: -
$.getJSON("link here", function (result) {
$.each(result, function (i, value) {
$('.usersOfGroupList').append($("<li data-userId='' ></li>").data('userIdFromGroups', value.Id).html(value.FirstName + " " + value.LastName));// remove repetitive id
console.log($(".usersOfGroupList li:eq("+i+")").data('userIdFromGroups')); // use index i to get correct li data
});
});