jquery:仅选择变量的子项

时间:2014-01-09 18:27:58

标签: jquery

使用无限滚动加载新帖子并使用masonry js定位它们。

这是一些注释代码。

function (newElements) {


    $.adaptiveBackground.run(); // run adaptive backgrounds on all new posts so as to colour them the approximate colour of the image about to be loaded
    var $newElems = $(newElements).css({ // hiding new posts until they're positioned properly after images are loaded
        opacity:0
    });

    var hideimages = $(".figure > img").hide(); // lets hide the images of new posts loaded

    $newElems.imagesLoaded(function () {



        $newElems.animate({
            opacity: 1
        }); //images now loaded, posts moved into correct masonry position, posts now un-hidden 

        var hideimages = $(".figure > img").delay( 1000 ).fadeIn(1000); // lets fade the images in after 1 second 


       $container.masonry( 'appended', $newElems );

    });
});

我遇到的问题是这一行var hideimages = $(".figure > img").hide();,我只想隐藏newElements中的图像(即刚装入的帖子),但我不太确定如何使用变量的子句我也找不到正确的文件。

有效但显然它隐藏了已经成功加载的帖子里面的任何图像。

2 个答案:

答案 0 :(得分:0)

你可以specify a context for your selector

$('.figure > img', $newElems).hide();

答案 1 :(得分:0)

使用.addClass()为所有新添加的元素指定一个特殊类,并定位该类选择器而不是更通用的.figure > img选择器(然后是removeClass())。

您可以使用Jason P的答案描述的上下文选择器参数,或者使用.filter($newElems)方法,它将以相同的方式运行。