我一直在试图弄清楚为什么我不能将名为timepos的变量传递给jquery中的td:eq(),而我尝试的任何方法似乎都无效。

这是代码的相关部分:

var timepos = 0;
function count() {

     var secs;

     secs = Number(time_chunks[2]);
     secs++;

     if ((secs == 00) || (secs % 5 == 0)) {
         for (i = 0; i < 6; i++) {
             $('.gridclassscrolled tbody tr:eq(' + i + ') td:eq(' + timepos + ')').find('.txttime').css("background-color", "yellow");
         };
         timepos = timepos + 1;
     };
}


这没用。如果我将td:eq(' + timepos + ')替换为整数,它将起作用,但不会像我需要的那样递增。我也尝试过使用parseInt。当我警告变量timepos时,它清楚地打印出一个递增的整数。我很困惑为什么它不起作用。

最佳答案

您试图在timepos循环外增加。这意味着for将始终为零。

for (i = 0; i < 6; i++) {
    $('.gridclassscrolled tbody tr:eq(' + i + ') td:eq(' + timepos + ')').find('.txttime').css("background-color", "yellow");
    timepos++;
};

07-26 01:45