2012-01-24 2 views
0

У меня возникли проблемы с исчезновением в некоторых элементах li после добавления в список.jQuery и несколько li AppendTo

var html содержит элементы списка.

$(html).hide().appendTo('#thelist').fadeIn(); 

проявки работ, когда есть один литий элемент загружен в однако, если есть JQuery оленья кожа Множественные Ли вставить ничего не говоря уже исчезают его в.

Может кто-нибудь предложить исправить?

EDIT 1:

Пример - thelist мой уль и она не скрыта.

<ul id="thelist"> 
    <li>entry1</li> 
    <li>entry2</li> 
    <li>entry3</li> 
</ul> 

EDIT 2:. список существует, как указано выше в HTML, а затем JQuery добавляет дополнительный Ли, который я хотел бы быть утрачен в

EDIT 3: HTML содержит Ajax вызова JQuery, содержащий html для отображения около 5 литов со статьей. Он правильно добавляет ul, когда я не использую затухание или анимацию. Когда я добавляю замирание в нем добавляет элементы к ул однако он не выцветает их в

РЕДАКТИРОВАНИЕ 4:. Вот функция нагрузки:

$(function() { 
    $('.more').live('click',function() { 
    var element = $(this); 
    var msg = element.attr('id'); 
    $('#morebutton').html('<p><em>Loading Articles.</em></p>'); 
    $.ajax({ 
     type: 'POST', 
     url: 'more.asp', 
     data: 'lastmsg=' + msg, 
     cache: false, 
     success: function(html){ 
      $('#morebutton').remove(); 
      $(html).hide().appendTo('#thelist').fadeIn(); 
     } 
    }); 
    }); 
}); 

РЕШЕНИЕ:

я получил его выгорает за счет изменения:

$(html).hide().appendTo('#thelist').fadeIn(); 

в

var item = $(html).fadeIn(); 
$('#thelist').append(item); 

Кажется, что это связано с тем, как цепи jQuery в определенном порядке.

+0

Можете ли вы предоставить некоторые HTML и другие коды вашей страницы? –

+0

Является ли '#thelist' вашей ul и скрыт, потому что вы применили функцию hide на html variavle (li) и пытаетесь fadein ul, как мне кажется. –

+0

Затухание происходит на html, а не на ul, который указан после – Ben

ответ

0

попробуйте использовать после

$(html).hide().after('#thelist').fadeIn(); 
+1

Использование после вставки li за пределами ul:/ – Ben

0

Это прекрасно работает для меня. Убедитесь, что ваши элементы списка и список существуют. Проверьте наличие опечаток любых идентификаторов.

http://jsfiddle.net/gftdz/1/

+0

Привет Тревор, я вижу, что код работает там, однако у меня нет такой же настройки. – Ben

+0

Как выглядит html на сервере? Попробуйте добавить dataType: 'html', к объекту ajax. Кроме того, 'console.log (html)' – Trevor

+0

Привет Тревор, теперь у меня это исчезло. Это не было ничего плохого в HTML-ajax-объекте. – Ben

0

Не уверен, но может быть вы хотите что-то вроде этого

$('#thelist').fadeOut('fast',function(){$('#thelist').append(html).fadeIn()});