将类添加到除第一个表之外的所有表

时间:2017-03-03 23:33:53

标签: javascript jquery each

我有一个页面,它将动态创建多个表格元素。

我需要在除第一个表之外的每个表中添加一个类。

以下是我的尝试:

$(".print-tables").each(function (i, value) {
    if (i !== 0) {
        $(".print-tables").addClass("skip-row");
    }
});

这不起作用。

需要纠正或编辑的内容?

感谢任何帮助。

3 个答案:

答案 0 :(得分:3)

需要的线路更少;只需使用notfirst选择器忽略第一个元素。

$(".print-tables:not(:first)").addClass("skip-row");

您可以使用.print-tables:gt(0),但上述内容更具语义性。

您正在迭代但每次都将类添加到整个选择中。要按照你的方式去做,你需要使用$(this)。

$(".print-tables").each(function (i, value) {
    if (i !== 0) {
        $(this).addClass("skip-row");
    }
}

Fiddle

答案 1 :(得分:2)

您可以直接将伪类:not(:first)放入选择器

$(".print-tables:not(:first)").addClass('skip-row')

答案 2 :(得分:0)

这应该有效:

$('.print-tables').each(function (i, value) {
    if (i !== 0) {
        $(this).addClass('skip-row');
    }
});

https://jsfiddle.net/659xzwnu/