jQuery FadeIn for append元素

时间:2013-12-13 11:04:10

标签: javascript 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>

4 个答案:

答案 0 :(得分:3)

使用.appendTo()取回对新附加元素的引用,然后为其设置动画

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

.append()返回对添加了新元素的容器元素的引用。

答案 1 :(得分:0)

试试这个:

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

答案 2 :(得分:0)

试试这个

$(msgtemplate).appendTo($( “UL#内容壁”))隐藏()淡入(500);。。

答案 3 :(得分: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

过滤器做(科克斯说):  它需要数组和循环,并为您提供一个新的数组,其中的元素与选择器匹配,并且textNodes与选择器不匹配,它应该与*一起使用*

<强>更新 使用jQuery 1.10.1我没有错误

Uncaught TypeError: Cannot set property 'cur' of undefined