Javascript JQUERY,如果列中按顺序包含数字,则突出显示该列

Javascript JQUERY,如果列中按顺序包含数字,则突出显示该列,javascript,jquery,html,css-tables,Javascript,Jquery,Html,Css Tables,我正在努力让这段简单的代码正常工作:我只想检查每一列的值,看看它们是否是顺序的(例如0到7),如果是,突出显示该列(class=“snaked”) 因此,我标记了属于第一行的每个单元格(class=“vstarter”),并尝试了以下方法: function is_colsnake() { ognicella.filter(".vstarter").each( function() { var cella = $(this); var pos = cella.

我正在努力让这段简单的代码正常工作:我只想检查每一列的值,看看它们是否是顺序的(例如0到7),如果是,突出显示该列(class=“snaked”)

因此,我标记了属于第一行的每个单元格(class=“vstarter”),并尝试了以下方法:

function is_colsnake() {
  ognicella.filter(".vstarter").each(
    function() {
      var cella = $(this);
      var pos = cella.index();
      var colonna = ognicella.filter(":nth-child(" + (pos + 1) + ")")
      var col = [];
      var issnake = false;

      colonna.each(
        function() {
          col.push(parseInt($(this).text()));
        });

      col.each(
        function() {
          var start = parseInt($(this).text()) ;
          var next  = parseInt($(this).next().text()) ;
          var prev  = parseInt($(this).prev().text()) ;
          var ix = $(this).index() ;

          if (ix == 0) {
            if (next == start + 1) {
              issnake = true;
            } else {
              issnake = false;
            }
          } else if (start != prev + 1) {
            issnake = false;
          }
        });

      if (issnake) {
        colonna.each(function() {
          $(this).addClass("snaked");
        })
      } else {
        colonna.each(function() {
          $(this).removeClass("snaked");
        })
      }
    })
};

但是它不起作用。请您帮忙好吗?

与问题无关,但您应该使用
var
声明所有变量,而不仅仅是每个函数中的第一个变量。这可能不起作用:
if(next==start+1)
next
start
是jQuery对象,而不是数字。我想您应该将这些变量设置为元素的解析文本。谢谢,我尝试了调整,但仍然不起作用:(仅供参考,您可以使用
colonna.toggleClass(“snaked”,issnake)替换最后一个
if
块)
.jQuery修改函数自动循环集合中的所有元素,您不需要
.each()
。您可以添加HTML并将其设为a。您可以使用a使其可执行。