Javascript JQUERY,如果列中按顺序包含数字,则突出显示该列
我正在努力让这段简单的代码正常工作:我只想检查每一列的值,看看它们是否是顺序的(例如0到7),如果是,突出显示该列(class=“snaked”) 因此,我标记了属于第一行的每个单元格(class=“vstarter”),并尝试了以下方法: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.
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使其可执行。