2011-12-01 56 views
9

我正在使用jquery,并尝试将一个类添加到该表行的选择表上。toggleclass和addclass之间的区别

我最初使用下面的代码 -

$(this).parents("tr").toggleClass("over", this.clicked);    

出于某种原因,这是不是在只有一些情况下,人们已经分配类的工作。 之前我去任何故障排除太疯狂了,我把它改成如下 -

$(this).parents("tr").addClass("over", this.clicked);   

这个新的选项似乎是工作的罚款。

我的问题是上面的一个选项是否比其他的更好.....我应该使用toggleClass而不是addClass,还是addClass足够?

感谢您的任何想法。

回答

12

addClass就是这样做的,将该类添加到元素中。

toggleClass另一方面,切换类,如果它存在,则删除它,否则添加它,但可以选择采用布尔值(true/false)来确定是否应添加对象(true)或删除对象(假)。

toggleClassthis.clickedfalse(这是预期的行为)的情况下可能不适用于您。你在addClass中传递的参数没有效果,因为它总是添加类。

结论:

使用toggleClass用于切换类,使用addClass添加类。

1

真的取决于。如果你不打算上课,我会坚持addClass。当然,toggleClass允许您切换课程。

+0

我其实经历和之前在表中删除特定类的所有行我将它添加到选定的行上。因此,我认为addClass将完成我所需要的。谢谢 – czuroski

3

不需要将第二个参数传递给.addClass() - 它将始终添加该类。

如果这是您想要的行为,那是正确的方法。

+0

谢谢你提到第二个参数是不必要的...我删除它,它工作正常。 – czuroski

相关问题