2013-12-13 63 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