当前位置: 首页 > 知识库问答 >
问题:

使用DataTables进行列和行hilighting

白哲茂
2023-03-14

我正在使用DataTables,并将这个有点尴尬的Javascript拼凑在一起,以允许行和列高亮显示。它基于本页的示例(http://datatables.net/release-datatables/examples/api/highlight.html ).

下面是dataTable配置的相关部分:

$(document).ready(function() {
    $('#franchise_history').dataTable( {
        "bPaginate": false,
        "bLengthChange": false,
        "bFilter": true,
        "bSort": false,
        "bInfo": true,
        "bAutoWidth": true,
        "sScrollY": "100%",
        "sScrollX": "100%",
        "asStripeClasses": [],
        "fnInitComplete": function (conf, json) {
            var tbl = $($.fn.dataTable.fnTables(true)).dataTable();
            $('td', tbl.fnGetNodes()).hover( function() {
                var iCol = $('td').index(this) % some_constant;
                var nTrs = tbl.fnGetNodes();
                $('td:nth-child('+(iCol+1)+')', nTrs).addClass('highlighted');
            }, function() {
                $('td.highlighted', tbl.fnGetNodes()).removeClass('highlighted');
            });
      }
} );
} );

服务器上的模板代码插入了一些常量。这是列数。以下是DataTables调试输出:http://debug.datatables.net/oceqix这是它的来源页面http://pro-football-history.com/franchise/37/pittsburgh-steelers-coaches

正如您所看到的,将鼠标悬停在列上不会正确地点亮右侧的列。这里怎么了?我对Javascript非常无知,我的Javascript调试能力基本处于极限。如果有任何答案也能解释他们找到它的调试过程,我将不胜感激。

共有1个答案

韦宣
2023-03-14

看起来像是下一行中的问题

 var iCol = $('td').index(this) % some_constant;

更改到下面应该可以解决您的问题:

var iCol = $('td', this.parentNode).index(this) % some_constant;

问题是,$('td')提供文档中的所有TDs,但您只需要获取当前行的TDs。

 类似资料:
  • 问题内容: 我有一个定义以下类型的架构: 这样就创建了一个对象,如下所示: 现在,我尝试将另一个生成的JAXB对象添加到该有效负载中,如下所示: 但是我遇到了一个可怕的异常,看起来它将永远无法工作,所以我决定先将有效负载对象序列化为XML,然后将其作为字符串添加到有效负载中。 而且这会爆炸,并说“ java.lang.String”不包含@XmlRootElement。 那么xs:any的使用将如

  • 我有一个带有两个得分列的data.frame。我希望在每行的基础上有条件地使用其中一个的数据。我用下面的一个例子来解释... 在这种情况下,Final最终将与test_low相同,因为对于两个Mains(即,当单元格为'high'时,单元格为'low时),test_low列小于test_high列。

  • 我试图学习密码学,用散列和盐析在数据库中保存密码,所以我决定做一个登录系统来实现这个系统。 我的数据库包括 UserID int PK 用户名varchar(250) Salt varbinary(64) 密码varbinary(64) RegDate日期时间 电子邮件varchar(250) 我正在使用PBKDF2,但似乎这不是散列/盐析方法,如果不是呢? 如果是这样,我做得对吗? 我的钥匙 将

  • 我的Spring批处理作业每3分钟运行一次。 步骤应为 每个用户的记录应该并行执行。每个用户最多可以有150k条记录。 每个用户都可以有更新和删除记录。更新记录应在删除之前运行。 更新/删除集应该自己并行运行。但严格来说,所有更新都应该在删除之前完成。 有谁能提出在多个级别实现并行性的最佳方法,并遵循更新和删除级别的顺序吗。我正在研究Spring异步执行器服务、并行流和其他Spring库。Rx,仅

  • 这是毁灭性的结果:http://imgur.com/xcudefm

  • 我发现Junit5从5.3版本开始就支持并行性,但我找不到任何关于如何使用csv源代码运行并行测试的参考。你有什么建议吗?