Javascript 未选择新添加的dom元素

Javascript 未选择新添加的dom元素,javascript,jquery,Javascript,Jquery,我有一个图像列表,可以通过ajax加载更多内容。默认情况下,有图像加载到列表中。当用户滚动时,列表中将添加另外4项。列表每15秒通过ajax刷新一次,只替换列表中的前7项。问题是,当4个新项目添加到列表中时,选择器似乎忽略了这些项目,因此它不会从0索引中进行选择 我知道这听起来很混乱,所以我将尝试用一个简单的示例演示 前 [注意数字的顺序-这是图像加载的顺序] 在初始页面加载时,将加载第一个图像  1.在初始页面加载时,将加载以下图像 1234567  2.当用户滚动时,将显示剩余的图像 123

我有一个图像列表,可以通过ajax加载更多内容。默认情况下,有图像加载到列表中。当用户滚动时,列表中将添加另外4项。列表每15秒通过ajax刷新一次,只替换列表中的前7项。问题是,当4个新项目添加到列表中时,选择器似乎忽略了这些项目,因此它不会从0索引中进行选择

我知道这听起来很混乱,所以我将尝试用一个简单的示例演示

[注意数字的顺序-这是图像加载的顺序]

在初始页面加载时,将加载第一个图像

 1.在初始页面加载时,将加载以下图像

1234567

 2.当用户滚动时,将显示剩余的图像

1234567891011

 3.更新脚本第一次运行

89101121434567

 4.更新脚本第二次运行

45671234567

 5.每次以及每次后续更新脚本运行时,顺序都是

45671234567

从我可以看出,这4个新添加的元素没有包含在
$'最新.pcVideomaincontainer:lt7'选择。我不确定如何在此场景中使用live,或者是否有其他技术。

我不确定这是否是您的主要问题,但您的这部分代码缺少$this。在删除之前,还缺少一个结束参数。你有这个:

            var $newestResults = $('#newest .pcVideomaincontainer:lt(7)');
            $newestResults.fadeOut('slow'), function () {
                remove()
            };
应该是这样的:

            var $newestResults = $('#newest .pcVideomaincontainer:lt(7)');
            $newestResults.fadeOut('slow'), function () {
                $(this).remove()
            });

修复后,$newestResults DOM对象将全部删除,因此我不确定您为什么要用以下代码行再次尝试对它们进行操作。

我将append改为prepend,现在可以使用。

这应该可以回答您的查询::或使用右大括号。fadeOut'slow',函数也是错误的。我签出了代码,由于某种原因,在复制或编辑代码时,这些东西没有包括在内。假设代码在示例突出显示时工作
            var $newestResults = $('#newest .pcVideomaincontainer:lt(7)');
            $newestResults.fadeOut('slow'), function () {
                $(this).remove()
            });