2012-01-24 47 views
0

在附加到列表後,我在某些li元素中有一些麻煩。jQuery和多個li AppendTo

var html包含列表項。

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

在作品中淡出時,有在但如果有多個李娜的jQuery的犯規將任何東西更不用說褪色進去。

任何人都可以提出一個修復加載到一個li元素?

編輯1:

實例 - 的thelist是我UL和它沒有隱藏。

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

編輯2:列表在HTML如上存在,然後jQuery的增加了額外的李的我希望在要被褪色

EDIT 3: HTML包含含有一個jQuery AJAX調用該html將以文章內容的形式顯示5個li。 當我不使用淡入或動畫時,它會正確添加到ul。當我添加淡入它添加元素到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(); 
     } 
    }); 
    }); 
}); 

SOLUTION:

我把它通過改變淡入:

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

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

似乎這是jQuery按特定順序鏈接的方式。

+0

你能提供一些HTML和你的頁面的多個代碼? –

+0

'#thelist'是你的ul,是隱藏的,因爲你在html variavle(li)上應用了hide函數,並試圖淡化ul,就像我看來的那樣。 –

+0

淡入發生在html上,而不是ul,它是在 – Ben

回答

0

嘗試使用後

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

使用後將插入li的ul外部:/ – Ben

0

我這工作得很好。確保您的列表項目和列表存在。檢查任何ID的拼寫錯誤。

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()});