【问题标题】:Hiding Particular Table Rows On Filter?在过滤器上隐藏特定的表格行?
【发布时间】:2013-03-24 23:17:18
【问题描述】:

我目前正在使用 JS/jQuery/PHP 并编写了以下代码:

http://cole.quinnchrzan.com/tv

我希望进一步利用 JS/jQuery 来隐藏具有 colspan 属性的 td 的所有父级 (tr),当我运行搜索查询时,这些父级 (tr) 不会立即由可见行继续进行(它隐藏了它没有找到搜索的所有行细绳)。更简单地说,我希望在执行搜索时隐藏表中无关的时间行。目前,我将过滤器功能设置为仅搜索没有 colspan 属性的表格单元格(即不是时间单元格)。这意味着所有时间行将始终可见。

对于懒人,这是我的搜索功能:

function filter(selector, query) {
    query = $.trim(query);
    query = query.replace(/ /gi, '|');

    $(selector).children('td:not([colspan])').each(function() {
        ($(this).parent().text().search(new RegExp(query, "i")) < 0) ? $(this).parent().hide() : $(this).parent().show();
    });
}

【问题讨论】:

  • 会更简单,更有效的 DOM 搜索,只需将类添加到行中,只在适当的类中搜索并隐藏其他类

标签: php javascript jquery html


【解决方案1】:
$('td[colspan]:visible').parent().each(function() {
    if($(this).siblings().first().children('td[colspan]').length > 0) {
        $(this).toggle();
    }
});

【讨论】:

  • 适用于单个结果,但仍会删除多个结果的时间行
猜你喜欢
  • 2022-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-03
  • 2023-03-17
  • 1970-01-01
  • 2019-03-16
相关资源
最近更新 更多