jquery - 计算表行数然后添加Class

标签 jquery html-table dom-traversal

我正在尝试 addClass 以便在有 20 个表格项目时显示链接。

我在页面上有多个表格,每个表格都位于 div.box 内

我想要做的是,如果有 20 tr 行 addClass 以使链接可见。这需要发生在每个单独的表上,我该如何设置?

到目前为止我已经得到:

    $(document).ready(function(){
    $(".box tr.table-row").length;


    $('a.single-product-link').addClass('visible');
});

但我不知道如何执行“如果有 20 tr.table-row addClass”部分。 如有任何建议,我们将不胜感激。

最佳答案

我为每个 .box 元素运行相同的函数,因为它们必须单独处理。函数中对div内的表格行进行统计,如果超过20行,则在div内的链接中添加一个类。

$('.box').each(function () {
    var $this=$(this);
    if ($this.find('tr.table-row').length > 20) {
        $this.find('a.single-product-link').addClass('visible');
    }
});

jsFiddle Demo

<小时/>

另一种可能的变化(使用 .addClass() 的函数参数,并在函数内部查找最接近的 .box 并计算其表行数):

$('a.single-product-link').addClass(function () {
    if ($(this).closest('.box').find('tr.table-row').length > 20) {
        return 'visible';
    }
});

jsFiddle Demo

关于jquery - 计算表行数然后添加Class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6496794/

相关文章:

jquery - 通过按钮调用 Controller 功能

angular - 如何在 Angular Material 表中拆分标题

php - mySQL、PHP、带有可排序列的 HTML 表 - 但某些列值存在问题

javascript - 多功能合而为一

javascript - 如何在数组中查找数组并将其删除?

javascript - 按回车时发送表格

javascript - 停止隐藏/显示系列,但单击时图例会变灰

html - flex 元素的子元素宽度相同

javascript - 在 javascript 或 JQuery 中查找控件

javascript - querySelectorAll 和 getElementsBy* 方法返回什么?