Почему-то у меня сегодня огромный пердеть.>. <</p>
У меня есть данные JSON, к которым я присоединяюсь с помощью jQuery .data (), который выглядит следующим образом:
$.getJSON("names.php", function(data) {
//generate html string and append to DOM
$.each(data, function(i,item) {
var strHtml;
strHtml += '<img src="' +item.PIC + '.jpg" id="' + item.ID + '" />';
})
$('body').html(strHtml);
//attach data to image ID
$.each(data, function(i,item) {
$('#' + item.ID).data(item.ID, {
NAME: item.NAME,
PHONE: item.PHONE,
EMAIL: item.EMAIL,
ADDRESS: item.ADDRESS,
...
...
...
});
}
}
Это отлично работает;однако, это выглядит немного некрасиво, и я пытаюсь немного это исправить, в основном в этой части:
$.each(data, function(i,item) {
$('#' + item.ID).data(item.ID, {
NAME: item.NAME,
PHONE: item.PHONE,
EMAIL: item.EMAIL,
ADDRESS: item.ADDRESS,
...
...
...
});
}
Я добавляю массив объекта к значению ключа.Пример из http://api.jquery.com/data/ $ ('body'). Data ('bar', {myType: 'test', count: 40});
Вот моя попытка переписать его:
$.each(data, function(i,item) {
$('#' + item.ID).data(item.ID, function(){
$.each(item) {
return i + ':' item[i];
}
})
}
Есть ли более чистый способ написать это?Я также пробовал $ ('#' + item.ID) .data (item.ID, JSON.stringify (data));