javascript - 如何使用 jquery each() 获取前一个元素

标签 javascript jquery

我知道 each 函数迭代一个数组。有没有办法访问像 (this[i]) 这样的索引?我需要能够将当前元素的 pubDate 与前一个元素的 pubDate 进行比较,如果不同则输出一个新的 pubdate。

    $(data).find('item').each(function(i, value){
            var title = $(this).find('title').text().replace(/\w+\s+\(.*?\)/, "");
            var link = $(this).find('link').text();
            var pubDate = $(this).find('pubDate').text();
            alert(title); 
            alert(link);
            alert(pubDate);
            $('#events').append("<p>" + title + "<br/>" + link + "</p>");

        });

最佳答案

许多可能的方法之一是:

var previous = null;
$(data).find('item').each(function(i, value){
        if (previous) {
            ... do stuff with previous element ...
        }

        var title = $(this).find('title').text().replace(/\w+\s+\(.*?\)/, "");
        var link = $(this).find('link').text();
        var pubDate = $(this).find('pubDate').text();
        alert(title); 
        alert(link);
        alert(pubDate);
        $('#events').append("<p>" + title + "<br/>" + link + "</p>");

        previous = this;
    });

您必须检查 previous 是否不为 null,因为第一次迭代将包含 null 值(第一个元素没有任何 previous 元素)。

关于javascript - 如何使用 jquery each() 获取前一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4452117/

相关文章:

javascript - 将鼠标事件广播到使用node.js和socket.io连接的所有 Node

javascript - AngularJS,在服务中使用 promise

javascript - 启用了 CORS 但仍然得到 405

javascript - 在 PHP 中检索 JS 数据

javascript - on Change 事件仅触发一次

javascript - Light Slider 在 Bootstrap 模式下不起作用

javascript - Parse.com 在云代码中创建 strip 卡 token (main.js)

javascript - IE9 中非常奇怪的问题,整个页面跳转

javascript - 仅在第一次使用 javascript 时滚动页面时如何提醒?

javascript - 如何动态地将新列添加到 HTML 表