Даже при устранении проблемы с тенью, я не думаю, что ваш код будет работать так, как ожидалось.
data
- это объект, а $.each()
[документы] повторяется для каждого свойства объекта. Пока я вижу, что у него есть 5 свойств (здесь как JSON):
{
"status":"ok",
"count":8,
"pages":1,
"category":{...},
"posts": [...]
}
Если это единственные, $.each()
будет перезванивать пять раз, что означает, что вы получите заголовок первых пяти постов. Или, если сообщений меньше 5, вы получите сообщение об ошибке.
Я думаю, что вы действительно хотите перебрать все сообщений из ответа, который будет:
var $scroller = $('#navScroller');
$.each(data.posts, function(i, post) {
$scroller.append('<li><a rel=""href="" title="">'+post.title+'</a></li>');
});
Если у вас много постов, имеет смысл заранее создать полную строку HTML и вызывать только .append()
один раз , например:
$('#navScroller').append($.map(data.posts, function(post) {
return '<li><a rel=""href="" title="">'+post.title+'</a></li>';
}).join('')); // not sure if you actually need `.join`