jQuery. Работа с динамически создаваемым списком.
Приветствую!
Использую вот такой парсер rss-лент, на базе плагина jFeed. Он формирует список элементов ленты <ul>.
jQuery(function() {
jQuery.getFeed({
url: 'xml/rss.xml',
success: function(feed) {
var html = '';
for(var i = 0; i < feed.items.length && i < 15; i++) {
var item = feed.items[i];
html += '<li>'+'<h3>'
+ '<a href="'
+ item.link
+ '">'
+ item.title
+ '</a>'
+ '</h3>';
html += '<div class="updated">'
+ item.updated
+ '</div>';
html += '<div>'
+ item.description
+ '</div>'+'</li>';
}
$("ul.paging").append(html);
}
})
});
А в body заготовка под него <ul class="paging"></ul> Лента парсится и отображается нормально, но обратиться к элементам <li> списка для дальнейшей работы не получается. Например
$(document).ready(function() {
var li=$('li').html();
alert(li);
});
выдает null. Присвоить элементам <li> какие-либо атрибуты тоже не удается. В firebag видно, что список формируется правильно: <ul class="paging"> <li> <li> <li> <li> <li> <li> <li> <li> </ul> Ошибок никаких не выдает. Подскажите, пожалуйста, что не так. Спасибо! |
Цитата:
|
Похоже на то, но не знаю, как обратится правильно.
|
сделайте setTimeout на какое-то время и проверьте есть эти элементы
если нет, то еще setTimeout |
Спасибо за совет. С задержкой работает. Но как-то же можно отловить событие окончания формирования списка? Не хотелось бы в конечном варианте использовать setTimeout.
|
только сейчас обратил внимание
вывод строится у вас в функции (параметр success), которая в первом сообщении? если да, то просто в конец этой функции, добавьте вызов своего кода |
Спасибо! Так и сделал. Работает.
|
| Часовой пояс GMT +3, время: 10:25. |