因此,基本上,我通过选择与要着色的表相关的所有tr标记,然后依次对它们进行着色,来使用jQuery交替显示行颜色。在某些时候,我不希望为某个tr上色,但是在那些情况下,交替上色应该跳过那些特定的表行。为此,我有一个名为“ rowSkip”的类,该类适用于所有应跳过着色的行。

几个月来,我一直在进行这项工作,而且效果很好……但是,始终存在一个问题。在某些情况下,我需要将多个类应用于表行,但又不希望它有颜色。在这种情况下,jQuery的类选择器似乎有问题-要么是我在这里错过了一些简单的事情...

例如:

<tr class="rowSkip">->正常工作。

<tr class="rowSkip strong someclass1 someclass2">->不起作用(尽管存在“ rowSkip”类,但仍会变色)

没有人知道为什么会这样,以及我如何解决这个问题,而没有抓住整个class attr,按空格分割,然后遍历它,并检查rowSkip的存在吗?

代码如下:

$("Table.alternate tr:not(.rowSkip)").each(function() {
//if(!$(this).hasClass("rowSkip")) { //Also tried this, and several other renditions to no avail.

   $(this).addClass(i++ % 2 == 0 ? 'rowOff1' : 'rowOff2');
//}
});


谢谢,
标记

最佳答案

尝试这个:

$("Table.alternate tr:not('[class*=rowSkip]')").each


好吧,如果您的课程总是以rowSkip开始,那么您可以这样做

$("Table.alternate tr:not('[class^=rowSkip]')").each //looks for class names that starts with rowSkip

10-04 17:34