Javascript 在表的特定列中搜索突出显示的表数据

Javascript 在表的特定列中搜索突出显示的表数据,javascript,jquery,html,jquery-ui,Javascript,Jquery,Html,Jquery Ui,有一个表可根据参数进行搜索和高亮显示 当用户滑动滑块时,滑块值改变,并根据值高亮显示TD 因此,根据专栏,它应该突出显示。目前我已经添加了 类到td(如col-1、col-2..),但这可以在没有 添加类 当值为“2”时,“12”也会高亮显示。可以做些什么 在这件事上 1)我想在适当的TD中添加一个类是获得所需内容的一个非常好的方法 2) 我认为没有CSS选择器检查内容是否相等,但您可以使用过滤器: var highlightTD = jQuery('#tableData tr td.col-

有一个表可根据参数进行搜索和高亮显示

当用户滑动滑块时,滑块值改变,并根据值高亮显示TD

  • 因此,根据专栏,它应该突出显示。目前我已经添加了 类到td(如col-1、col-2..),但这可以在没有 添加类

  • 当值为“2”时,“12”也会高亮显示。可以做些什么 在这件事上

  • 1)我想在适当的TD中添加一个类是获得所需内容的一个非常好的方法

    2) 我认为没有CSS选择器检查内容是否相等,但您可以使用过滤器:

    var highlightTD = jQuery('#tableData tr td.col-1').filter(function() {
        return $(this).text() == ui.value;
    });
    
    1) 我想在适当的TD中添加一个类是获得所需内容的一个非常好的方法

    2) 我认为没有CSS选择器检查内容是否相等,但您可以使用过滤器:

    var highlightTD = jQuery('#tableData tr td.col-1').filter(function() {
        return $(this).text() == ui.value;
    });
    

    其中,是一个添加类的部分,我要做的是:

    而不是:

    var highlightTD = jQuery('#tableData tr td.col-1:contains(\'' + ui.value + '\')');              
    highlightTD.addClass("jquery-colorBG-highLight");
    
    试试这个:

    $('#tableData tr td.col-1').each(function(){
        if ($(this).text() == ui.value()) {
            $(this).addClass("jquery-colorBG-highLight");
        }
    
    });              
    

    其中,是一个添加类的部分,我要做的是:

    而不是:

    var highlightTD = jQuery('#tableData tr td.col-1:contains(\'' + ui.value + '\')');              
    highlightTD.addClass("jquery-colorBG-highLight");
    
    试试这个:

    $('#tableData tr td.col-1').each(function(){
        if ($(this).text() == ui.value()) {
            $(this).addClass("jquery-colorBG-highLight");
        }
    
    });              
    
  • 要选择表中的列,您需要使用第n-child()选择器:
    $(“#tableData tr td:nth child(2)”
  • “2”打开时选择“12”单元格,因为
    :contains()
    基本上与字符串匹配。由于“2”在技术上在“12”之内,所以需要进行不同的比较。类似的方法可能会奏效:

    $('#tableData tr td:nth-child(2)').filter( function(){
        if( $(this).html() == ui.value )
            $(this).addClass('highlight');
    });
    
  • 要选择表中的列,您需要使用第n-child()选择器:
    $(“#tableData tr td:nth child(2)”
  • “2”打开时选择“12”单元格,因为
    :contains()
    基本上与字符串匹配。由于“2”在技术上在“12”之内,所以需要进行不同的比较。类似的方法可能会奏效:

    $('#tableData tr td:nth-child(2)').filter( function(){
        if( $(this).html() == ui.value )
            $(this).addClass('highlight');
    });
    

  • 只是想知道你的一句话“但是这可以不加课堂就完成吗?”。添加/删除类是否有问题?另一个选项是使用.css,但我认为添加和删除类是一个很好的解决方案。根据列将类添加到所有TD中,我认为这会降低脚本渲染速度。[index]是选项。只是想知道你的句子“但是这可以不添加类就完成吗?”。添加/删除类是否有问题?另一个选项是使用.css,但我认为添加和删除类是一个很好的解决方案。根据列将类添加到所有TD中,我认为这会降低脚本渲染速度。[index]是一个选项。