javascript - 检测页面上的两个元素是否具有相同的 ID

标签 javascript php jquery

在页面加载时,从数据库中选择了 5 个项目。当用户向下滚动时,会加载另外 5 个帖子,等等。

为了在按"new"排序时防止重复帖子,我将页面加载时间放在一个隐藏的输入中以在 JavaScript 中使用:

<input id="loadTime" type="hidden" value="<?php echo time(); ?>">

然后在滚动时获取更多帖子时,我只选择那个时间之前的新帖子,以防止重复帖子。

WHERE s.date < :loadTime

但是,我的问题是按热门或热门排序时,因为它们不使用相同的逻辑。

是否可以检测页面上的两个元素是否具有相同的 ID?因为当一个重复的帖子附加到页面时,它的 ID 将与页面上已有的 ID 相同。某种 $(window).scroll()有一个功能可以在之后删除重复的 ID,这样用户就不会看到重复的帖子吗?

最佳答案

我能够解决它:

在附加新帖子后的成功函数中,我遍历页面上的所有 ID(取自此 answer,然后删除具有该 ID 的最后一个元素。

$('[id]').each(function(){
    var ids = $('[id="'+this.id+'"]');
        if (ids.length>1 && ids[0]==this){
            $("#"+this.id).last().remove();
        }
 });

关于javascript - 检测页面上的两个元素是否具有相同的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35936003/

相关文章:

javascript - Site_url 在导航栏 codeigniter 3 中不起作用

php - 使用 header ("Set-cookie"设置 cookie ) 与 setcookie() 函数

php - 日期之间的错误搜索

php - =?ISO-8859-1 在邮件主题中

javascript - 如何使用链接在输入选项卡之间导航?

javascript - 模拟依赖的构造函数 Jest

javascript - javascript中的链相等运算符

javascript - 从 jquery 转换为原型(prototype)

jquery - 切换类不工作

jquery - 我怎样才能使第一个 ul 中的 li 超过第二个 ul?