首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Jquery循环遍历tr,并将内容与下一行序列进行比较

使用Jquery循环遍历tr,并将内容与下一行序列进行比较
EN

Stack Overflow用户
提问于 2009-12-05 01:33:14
回答 3查看 6.9K关注 0票数 0

我对jQuery/javascript有些陌生,我想将表体中的row[i]内容与row[i+1]进行比较。

这是我可以用jQuery做的事情吗?或者我应该只使用普通的老式JS和getElementByid,然后以这种方式循环?使用.each似乎无法轻松访问该系列中的下一个元素。

我假设如果/当我找到解决方案时,我需要弄清楚如何将row[i].td[j]row[i+1].td[j]进行比较。

我想这很简单,但是到目前为止我的搜索结果都是空的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-08 03:12:26

到目前为止,我的完整解决方案包括以下内容:

代码语言:javascript
复制
  function myfunc(table) {
    $(table).each(function(i,n) {
      var current = $(n);
      var next = $(table).eq(i+1);
      if (next.length) {
        current.children().each(function(a,b) {
          var current_td = $.trim($(b).text());
          var next_td = $.trim(next.children().eq(a).text());
          /* compare here */
        });
      }
    });
  }
票数 0
EN

Stack Overflow用户

发布于 2009-12-05 01:36:09

请注意,如果您在最后一个tr处,next可能最终成为一个空的jquery对象

代码语言:javascript
复制
var trs = $('tr');
trs.each(function(i,n) {
    var current = $(n);
    var next = trs.eq(i+1);
});
票数 4
EN

Stack Overflow用户

发布于 2009-12-05 03:00:45

你可以存储前一个元素,然后在‘next’上进行比较:

代码语言:javascript
复制
        var callback = (function() {
            var lastTr;

            return (function(i, n) {
                if (lastTr) {
                    //logic $(this) is 'next', lastTr is 'current'
                }

                lastTr = $(this);
            });
        })();;

        $(document).ready(function() {
            $('tr').each(callback); 
        });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1848492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档