2013-12-13 96 views
0

我wanto以淡入僅追加元素jQuery的淡入進行追加元素

我嘗試用這個

$("ul#content-wall").append(msg.template).hide().fadeIn(300).promise().done(function() { 
}); 

$("ul#content-wall").hide().append(msg.template).fadeIn('normal').promise().done(function() { 

但隱藏在整個容器淡出,我想隱藏和淡入淡出只有

'msg.template' 

感謝

更新

我嘗試這個

$(msg.template).hide().appendTo('#content-wall').fadeIn(300).promise().done(function() {}); 

但我有此錯誤:

Uncaught Error: Syntax error, unrecognized expression: <li class="result_search">168foo</li> 

我的console.log(msg.template)

<li class="result_search"> 168 foo </li> 

我console.dir(msg.template)

<li class="result_search"> 
     168 
     foo 
    </li> 

回答

3

使用.appendTo()要回新追加的元素的引用,然後動畫它

$(msg.template).hide().appendTo('#content-wall').fadeIn(300).promise().done(function() {}); 

.append()返回參考容器元素新元素被添加。

+0

感謝,我的問題是我的問題。模板是 ' 168 FOO' '未捕獲的類型錯誤:對象 FOO 沒有方法 '隱藏'' – Barno

0

試試這個:

$(msg.template).appendTo('ul#contentwall').hide().fadeIn(300).promise().done(function(){}); 
+0

我更新了我的問題 – Barno

0

試試這個

$(msgtemplate).appendTo($( 「#UL內容牆」))隱藏()淡入(500)。

+0

這樣? (){' '$(msg.template).appendTo('#content-wall')。hide()。fadeIn(300).promise()。done(function(){' 我有這個錯誤 'Uncaught Error:語法錯誤,不能識別的表達式:' – Barno

+0

<腳本類型= 「文本/ JavaScript的」> 功能appendData(){ VAR模板=「

  • 測試數據
  • 」; $(模板).appendTo($(「 UL# ulwall 「))隱藏()淡入(500).promise()來完成(函數(){ });。 }
    Datta

    +0

    我已添加代碼請檢查http://jsfiddle.net/cWfQH/17/ – Datta

    0

    有了您的幫助,並與用戶IRC的幫助(科克):

    $($.parseHTML(msg.template)).filter('*').appendTo('ul#content-wall').hide().fadeIn(300).promise().done(function() {} 
    

    我有一個錯誤,而不過濾

    Uncaught TypeError: Cannot set property 'cur' of undefined 
    

    因爲數組中的第一個元素是一個文本節點

    fadeIn do $(template).eq(0) [textnode] .fade => crash 
    fadeIn do $(template).eq(1) [li] .fade => would work 
    

    Filter do(科克斯說): 它需要數組並循環並給出你與匹配選擇,並作爲textNodes元素不匹配選擇應該與*

    更新工作的新數組 使用jQuery 1.10.1我沒有錯誤

    Uncaught TypeError: Cannot set property 'cur' of undefined