我对jQuery/javascript有些陌生,我想将表体中的row[i]内容与row[i+1]进行比较。
这是我可以用jQuery做的事情吗?或者我应该只使用普通的老式JS和getElementByid,然后以这种方式循环?使用.each似乎无法轻松访问该系列中的下一个元素。
我假设如果/当我找到解决方案时,我需要弄清楚如何将row[i].td[j]与row[i+1].td[j]进行比较。
我想这很简单,但是到目前为止我的搜索结果都是空的。
发布于 2009-12-08 03:12:26
到目前为止,我的完整解决方案包括以下内容:
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 */
});
}
});
}发布于 2009-12-05 01:36:09
请注意,如果您在最后一个tr处,next可能最终成为一个空的jquery对象
var trs = $('tr');
trs.each(function(i,n) {
var current = $(n);
var next = trs.eq(i+1);
});发布于 2009-12-05 03:00:45
你可以存储前一个元素,然后在‘next’上进行比较:
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);
});https://stackoverflow.com/questions/1848492
复制相似问题