2

我正在尝试添加类以在有 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”部分。任何建议,将不胜感激。

4

1 回答 1

0

我为每个.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 演示


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

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

jsFiddle 演示

于 2011-06-27T17:49:55.990 回答